在浏览器中缓存 Azure-served 个图像
Caching Azure-served images in the browser
我有大量图像以 blob 形式存储在 Azure 容器中。
我正在尝试让浏览器 (Chrome) 缓存这些图像以节省带宽。我读过很多帖子说这可以通过设置 Cache-Control 响应 header 来实现。我正在使用 Microsoft Azure 存储资源管理器来修改这些 headers,例如:
public, max-age=7776000
加载此图片 (https://XXXXXXXX.blob.core.windows.net/XXXXXXXX/Themes/summer.jpg) 时,这是我使用 Google Chrome 的开发人员工具看到的:
这对图像的缓存没有任何影响。我尝试了允许的 CacheControl
属性的许多不同排列,但我根本看不到任何缓存。状态始终为 200
,但我期望缓存命中 304
。这是正确的吗?
我提供的任何 CacheControl
字符串总是显示在 Chrome 的结果中;它似乎对缓存方面没有任何影响。我试过 public
、private
、max-age
、s-maxage
、must-revalidate
的变体。为了完整起见,no-cache
和 no-store
。没有观察到差异。
我需要 900ms+ 加载上图。但是,在本地保存时,同一张图片需要 19ms。我希望如果浏览器正在缓存图像,那么它的时间将等于当地时间。
其他帖子建议使用 Azure CDN
。但是,我不想走这条路,因为使用这些图片的网站不需要它。
我是否缺少 Azure 中允许缓存的设置?直接在浏览器或网页中加载图像也没有区别。
谁能提供帮助?如果需要任何其他信息,请告诉我。
CacheControl
设置应该生效。
使用 chrome 时,请确保您没有 select 选项 "disable-cache"。
在 chrome 中为 CacheControl 设置 max-age=xx
时,我可以看到预期的行为。
我有大量图像以 blob 形式存储在 Azure 容器中。
我正在尝试让浏览器 (Chrome) 缓存这些图像以节省带宽。我读过很多帖子说这可以通过设置 Cache-Control 响应 header 来实现。我正在使用 Microsoft Azure 存储资源管理器来修改这些 headers,例如:
public, max-age=7776000
加载此图片 (https://XXXXXXXX.blob.core.windows.net/XXXXXXXX/Themes/summer.jpg) 时,这是我使用 Google Chrome 的开发人员工具看到的:
这对图像的缓存没有任何影响。我尝试了允许的 CacheControl
属性的许多不同排列,但我根本看不到任何缓存。状态始终为 200
,但我期望缓存命中 304
。这是正确的吗?
我提供的任何 CacheControl
字符串总是显示在 Chrome 的结果中;它似乎对缓存方面没有任何影响。我试过 public
、private
、max-age
、s-maxage
、must-revalidate
的变体。为了完整起见,no-cache
和 no-store
。没有观察到差异。
我需要 900ms+ 加载上图。但是,在本地保存时,同一张图片需要 19ms。我希望如果浏览器正在缓存图像,那么它的时间将等于当地时间。
其他帖子建议使用 Azure CDN
。但是,我不想走这条路,因为使用这些图片的网站不需要它。
我是否缺少 Azure 中允许缓存的设置?直接在浏览器或网页中加载图像也没有区别。
谁能提供帮助?如果需要任何其他信息,请告诉我。
CacheControl
设置应该生效。
使用 chrome 时,请确保您没有 select 选项 "disable-cache"。
在 chrome 中为 CacheControl 设置 max-age=xx
时,我可以看到预期的行为。