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/
或者,可能有其他原因需要不断重新验证才能考虑:
上一篇: 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?