【发布时间】: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