304在Azure Blob存储中托管的Azure CDN图像的状态代码

我的图像存储在azure blob存储中,并通过我的web应用程序使用我的azure CDN进行引用。 但是所有图像都会返回一个304响应标题。 理想情况下,我不希望浏览器返回CDN以检查每个请求的有效性,而是让浏览器始终使用缓存。 - 在图像缓存的生命周期中。

由于我对缓存知识有限,因此我了解缓存使用ETag值比较图像版本是否与请求时相同。 在这种情况下,CDN会返回304响应。 但是,因为CacheControl标头设置为公共,max-age = 2592000我希望浏览器使用图像的缓存副本。 我有另一个CDN安装程序,它有一个托管服务端点,它返回200响应,因为我删除了ETag值。

任何帮助,这将不胜感激。


ETag “触发” 304响应=>浏览器向服务器发送了If-None-Match验证请求时。 这通常在max-age时间过后完成。 你可以在这里找到一个很好的描述:

https://stackoverflow.com/a/500103/2550808

还值得一提的是,Firefox浏览器设置应该设置为默认值:转到about:config页面并检查以下设置:http://kb.mozillazine.org/Browser.cache.check_doc_frequency

回到你的问题,服务器返回到浏览器的Cache-Control头可能有问题。 在我的谦虚的个人经历中,我没有遇到明确的public版头,这更可能是这样的:

Cache-Control: max-age=3600, must-revalidate

无论如何,这里有关于缓存的标题的相当不错的描述:

https://www.mnot.net/cache_docs/

或者,可能有其他原因需要不断重新验证才能考虑:

  • 服务器200响应文件中的VARY头可能会影响缓存;
  • JavaScript调用重新加载位置对象,为bReloadSource传递TRUE;
  • 链接地址: http://www.djcxy.com/p/65543.html

    上一篇: 304 Status code for my Azure CDN images hosted in Azure Blob Storage

    下一篇: How do I force Azure CDN content to be purged or invalidated?