Firefox 为什么';我的expires头不能使我的文件留在缓存中吗?

Firefox 为什么';我的expires头不能使我的文件留在缓存中吗?,firefox,caching,Firefox,Caching,我正在为我的静态文件使用有效的expires和no cache Header,只要我继续浏览,它们就会一直保持缓存状态,但当我关闭浏览器并在一段时间后重新使用它时,我会看到静态文件再次加载,即使没有使用ctrl(+shift)+r刷新 我使用的是Firefox,缓存大小设置为250MB,我不允许它删除任何私有或缓存数据 标题: 接受范围:字节 缓存控制:最大年龄=29030400,公共 内容长度:142061 内容类型:图像/png 日期:2009年12月8日星期二19:18:43 GMT 到期

我正在为我的静态文件使用有效的expires和no cache Header,只要我继续浏览,它们就会一直保持缓存状态,但当我关闭浏览器并在一段时间后重新使用它时,我会看到静态文件再次加载,即使没有使用ctrl(+shift)+r刷新

我使用的是Firefox,缓存大小设置为250MB,我不允许它删除任何私有或缓存数据

标题: 接受范围:字节 缓存控制:最大年龄=29030400,公共 内容长度:142061 内容类型:图像/png 日期:2009年12月8日星期二19:18:43 GMT 到期时间:2010年11月9日星期二19:18:43 GMT 最后修改:Sun,2009年1月18日18:33:48 GMT 服务器:Apache/2.2.14(EL)


Firefox的哪个版本?服务器是否正在发送静态文件的ETag?您可以通过转到地址about:cache查看Firefox缓存的详细信息。这将让您了解Firefox缓存的内容

更新:查看标题标记后,似乎将“最大年龄”值设置为过去的日期,并且覆盖了Expires标题中设置的值。请参阅HTTP 1.1协议定义,网址:

如果一个响应同时包含两个参数,则过期 标题和最大年龄指令 最大年龄指令覆盖 Expires标头,即使 标题更具限制性。这条规则 允许源服务器提供, 对于给定的响应,时间更长 HTTP/1.1(或 之后)缓存到HTTP/1.0 隐藏物如果确定的话,这可能是有用的 HTTP/1.0缓存计算不正确 期限或到期时间,可能到期 去同步时钟


您必须修改服务器发送的缓存控制标头。

您使用的是“协同缓存”标头吗?那是什么?如果看不到两个方向上的标题流量,就很难理解您的问题。您可以发布标题分配的样子吗?当查看about:缓存时,您将能够看到firefox存储的标题。始终是最新的,此时为3.5.5。并且没有ETag被禁用。