我正在为我的静态文件使用有效的expires和no-cache标头,并且只要我一直浏览它们就会保持缓存状态,但是当我关闭浏览器并在一段时间后再使用它时,我会看到静态文件再次加载,即使不用ctrl(+ shift)+ r
刷新我正在使用Firefox,缓存大小设置为250MB,我不会删除任何私有或缓存数据。
接头: Accept-Ranges:字节 缓存控制:max-age = 29030400,public 内容长度:142061 内容类型:image / png 日期:2009年12月8日星期二19:18:43 GMT 到期日:2010年11月9日星期二19:18:43 GMT 最后修改时间:太阳报,2009年1月18日18:33:48 GMT 服务器:Apache / 2.2.14(EL)
答案 0 :(得分:2)
哪个版本的Firefox?服务器是否为静态文件发送Etags?您可以通过转到地址 about:cache 并查看来查看有关Firefox缓存的详细信息。这将让您了解Firefox的缓存方式。
更新:查看标题标记后,似乎 max-age 值设置为过去的日期,并且覆盖了在此处设置的值过期标头。请参阅:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.3上的HTTP 1.1协议定义。
如果回复包含过期 header和max-age指令, max-age指令覆盖了 过期标题,即使过期 标题更具限制性。这个规则 允许原始服务器提供, 对于给定的响应,更长 到期时间到HTTP / 1.1(或 缓存而不是HTTP / 1.0 缓存。如果确定,这可能很有用 HTTP / 1.0缓存不正确地计算 年龄或到期时间,也许是到期日 去同步时钟。
您必须修改服务器发送的 Cache-Control 标头。