我的网站由静态 HTML 文件组成,通常每天重新发布一次,有时甚至更多。
我使用的是 Apache。在我的网站的 vhost 设置中,我想告诉浏览器无限期地缓存 HTML 文件,直到 Apache 发现它们被修改。因此,一旦 HTML 文件发生更改,Apache 应立即开始告诉浏览器它已更改并发送更新的文件。一旦发布新文件,浏览器应立即开始接收该文件……它们永远不应接收旧版本的文件。也许
ExpiresByType text/html modification
并且没有“加上 x 天”。
这样的事可能吗?
答案1
这就是它已经工作的原理,你不需要做任何事情(在这里查看有关 Etags 的更多信息:http://en.wikipedia.org/wiki/HTTP_ETag)。
要确定您的 ETag 正常工作,请检查您的 Apache 日志并确保您看到的304
响应大多比原始文件小,并且200
在文件更改后发送响应。
您还可以在浏览器的开发人员工具中查看响应代码。