我使用Firebug检查了我的网站:每次重新加载页面时,都会重新加载所有资源。 (我不是通过点击浏览器中的“重新加载”,而是使用主页上通向主页的链接)
仅举一个例子: base.css 每次加载页面时都会显示“200 ok”状态。
The response header says:
Cache-Control max-age=5184000, private
Last-Modified 10 Feb 2012 20:00:00 GMT
从我现在读到的所有内容来看,这应该足以让浏览器缓存此文件。
我在两台不同的机器上使用两个不同版本的Firefox检查了这一点 - 但结果相同。
让浏览器缓存文件缺少什么?
令人困惑的是,对于:cache,我可以看到浏览器已将base.css放入其磁盘缓存中,并在每次重新加载页面时递增获取计数。萤火虫在玩恶作剧吗?
答案 0 :(得分:0)
Yogi,我附上了我在浏览器中看到的截图(见下文或点击此网址http://i.stack.imgur.com/eT0gU.png)。有一些缓存资源(如widget76.css),但base.css没有像你说的那样缓存。
我发现了一些事情:
widget76.css有一个“If-Modified-Since”标题http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html,它允许有效的缓存策略。无法在图像中看到,但这是请求标头的内容:
If-Modified-Since:Wed,01 Feb 2012 12:31:58 GMT
缓存控制:max-age = 0
总而言之,我认为缺少的If-Modified-Since标头会产生不同。
答案 1 :(得分:0)
我的初始问题的答案相当简单: 在firebugs网络分析的默认模式下,启用了“BFCache Answers”。结果是列表中显示了对缓存的请求,这给人的印象是它们来自服务器。
感谢您的帮助,DmitryB!