在查看这篇文章的答案时,我不明白为什么在这里使用 0 秒作为最佳实践:
ExpiresByType text/html "access plus 0 seconds"
我认为这意味着每当用户访问该网站时,总是会下载 html 页面而不是从缓存中提取。那正确吗?
这是人们通常为这个变量设置的吗?如果是,为什么?如果不是,哪些情况会受益于将其设置为 0 秒?
在查看这篇文章的答案时,我不明白为什么在这里使用 0 秒作为最佳实践:
ExpiresByType text/html "access plus 0 seconds"
我认为这意味着每当用户访问该网站时,总是会下载 html 页面而不是从缓存中提取。那正确吗?
这是人们通常为这个变量设置的吗?如果是,为什么?如果不是,哪些情况会受益于将其设置为 0 秒?
如果text/html
仅表示“来自静态 HTML 文件的内容”,那么您是对的,并且您希望设置更长的缓存寿命。但是服务器端脚本通常也会返回一个网页;也就是说,他们的响应的 Content-Type 通常也是text/html
如此。如果所有 HTML 都被缓存,动态生成的内容可能无法正确更新。
如果您只想使非静态 HTML 过期,您可以执行类似的操作
<FilesMatch "\.php$">
ExpiresByType text/html "access plus 0 seconds"
</FilesMatch>
(以 PHP 为例)。