我的目标
我希望让浏览器缓存我的整个网站,但只有在更改一个或多个文件时才下载静态内容。
我的情况
经过一些研究,我找到了一种方法来实现这一点。那就是在我的htaccess文件中添加一个“Far Future Expires Header”,并使用“filemtime()”函数向我的文件添加查询字符串。
问题
当我在Firefox的地址栏中输入我的网站地址时,Firebug显示:38.3 KB(36.4 KB来自缓存)
当我在Firefox中按下F5时,Firebug显示:241.1 KB(10.9 KB来自缓存)
现在我尝试用Google做同样的事情,他们会发送HTTP头304回来。我已经阅读了很多关于ETag和Last Modified头的文章,但我听说很多人说它们不是真正可靠的。
我的问题
如果我想像谷歌一样,在用户按下F5时发送HTTP头304返回我的静态内容,那么最好的解决方案是什么?
我问这个问题是因为我经常访问一个网站,并使用F5查看是否有新的信息可用。而不是重新加载图片等等。
更新
似乎Firefox控制缓存的方式,我希望在用户按下F5时也使用缓存。
mod_expires
应该可以解决问题。此外,如果浏览器发送了 If-Modified_Since 标头,Apache 将回复 304(或者至少我会感到惊讶如果没有)。 - vbence