图像的缓存标头始终为“无缓存”和“过期:-1”
Posted
技术标签:
【中文标题】图像的缓存标头始终为“无缓存”和“过期:-1”【英文标题】:Caching-Headers for Images are always "no-cache" and "expires: -1" 【发布时间】:2015-01-14 08:29:03 【问题描述】:我正在运行基于 Piranha CMS 的页面,将其用作被动模式下的内容源。 在优化页面速度时,我看到 piranha 处理的所有图像请求都返回以下响应标头:
GET /media/4b3b3fa3-ff7b-4af7-81f2-168474edd23f/50/20
Cache-Control:no-cache
Content-Length:52826
Content-Type:image/jpeg
Date:Mon, 17 Nov 2014 11:53:28 GMT
Expires:-1
Pragma:no-cache
X-UA-Compatible:IE=Edge,chrome=1
当然,我希望尽可能缓存这些图像。 看了下github上的代码,发现这个信息好像是在/Piranha/Web/ClientCache.cs中设置的。
有没有办法影响食人鱼设置的缓存头?
【问题讨论】:
【参考方案1】:配置部分在当前版本中不是很清楚,但缓存由两个参数控制,您可以在管理器界面中从System > Parameters
设置它们。这里有两个参数CACHE_PUBLIC_EXPIRES
和CACHE_PUBLIC_MAXAGE
,它们指定客户端浏览器缓存的时间(以分钟为单位)。
这些默认设置为 0,因为您不希望在开发期间启用缓存,这会禁用缓存并呈现 no-cache 标头。当您激活缓存 E-tag 时,将为您的媒体文件生成 Last modified 和 Expires 标头。
最好的问候
哈坎
【讨论】:
不敢相信我没想到要看看参数...非常感谢。以上是关于图像的缓存标头始终为“无缓存”和“过期:-1”的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Chrome 会使用 max-age 标头请求已缓存的图像?