我在 Azure 容器中存储了大量的图像,这些图像以 blobs 的形式存储。
我正试图让浏览器 (Chrome) 缓存这些图像以节省带宽。我阅读了许多帖子,说明可以通过设置 Cache-Control 响应头来实现。我正在使用 Microsoft Azure 存储资源管理器修改这些头文件,如
public, max-age=7776000
当加载这张图片时 (https:/XXXXXXXX.blob.core.windows.netXXXXXXXXThemessummer.jpg。)这是我使用谷歌浏览器的开发者工具看到的。
这对图像的缓存没有任何影响。我已经尝试了许多不同的组合,允许的 CacheControl
属性,但我根本没有看到任何缓存。状态始终是 200
但我期待的是 304
为缓存命中。这样做对吗?
无论哪种 CacheControl
我提供的字符串总是显示在Chrome的结果中;只是看起来对缓存方面没有任何区别。我已经尝试了不同的 public
, private
, max-age
, s-maxage
, must-revalidate
. 而只是为了完整。no-cache
和 no-store
. 没有观察到差异。
上图为 900毫秒以上 为我加载。然而,当保存在本地时,同样的图像需要 19ms. 我希望如果浏览器在缓存图片,那么它的时间就会与当地时间相当。
其他帖子表明,一个 Azure CDN
被使用。但是,我不想走这条路,因为使用这些图片的网站不需要这样。
我是否在Azure中缺少一个允许缓存的设置?直接在浏览器中加载图像,或在网页内加载图像也没有区别。
有人能提供帮助吗?如果需要任何其他信息,请告诉我。