【问题标题】:Chrome and IE cache static content, Firefox does notChrome 和 IE 缓存静态内容,Firefox 没有
【发布时间】:2011-05-28 12:43:02
【问题描述】:

我正在尝试通过为静态内容添加缓存标头来提高我网站的性能。

到目前为止,我可以将内容缓存在 Chrome 和 Internet Explorer 中,但不能缓存在 Firefox 中。

这是我提供的与缓存相关的标头:

Cache-Control:private, max-age=1800

ETag:"809067e0179acb1:0"

到期时间:格林威治标准时间 2010 年 12 月 20 日星期一 21:35:10

(注意:ETag 和 Expires 是可变的;Expires 是未来 30 分钟)

我使用 Fiddler 2 验证了该行为。Chrome 和 IE7 在第一次请求后不请求图像、CSS 和 JS,而 Firefox 每次都请求它们。

我应该提供任何标题来让 Firefox 缓存这些吗?

更新 2010.12.22

我注意到大多数网站上都有相同的行为,包括 www.yahoo.com。有没有办法强制 Firefox 缓存?

【问题讨论】:

  • (当然,您没有按“重新加载”或“F5”?)您确定缓存控制:静态内容的私有吗?
  • 我没有重新加载 (F5)。我基本上只是单击指向同一页面的链接。 “cache-control:private”是我在原始 http 标头中看到的。
  • 这些标头应该可以在 Firefox 上正常工作(假设站点是 HTTP 而不是 HTTPS)。尝试清除您的 FF 缓存和/或从另一台机器尝试该站点。
  • 嗯...我在外部机器上试了一下,效果很好。但是在我的公司网络中,Firefox 没有缓存。两者都是 3.6.13 版本...奇怪,需要做一些研究。
  • 我也有同样的问题。我的 Cache-Control 是 'max-age=1800, public' 并被 FF 忽略

标签: http caching http-headers static-content


【解决方案1】:

SSL 内容会出现这种情况,但现在不应如此。 FireFox 将其缓存方式更改为 Gecko bug 531801

现在,无论 Cache-Control 标头如何,都将 SSL 内容缓存到磁盘。

【讨论】:

    猜你喜欢
    • 2015-10-04
    • 2011-08-19
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 2016-08-13
    • 2020-09-17
    相关资源
    最近更新 更多