2

在查看这篇文章的答案时,我不明白为什么在这里使用 0 秒作为最佳实践:

ExpiresByType text/html "access plus 0 seconds"

认为这意味着每当用户访问该网站时,总是会下载 html 页面而不是从缓存中提取。那正确吗?

这是人们通常为这个变量设置的吗?如果是,为什么?如果不是,哪些情况会受益于将其设置为 0 秒?

4

1 回答 1

8

如果text/html仅表示“来自静态 HTML 文件的内容”,那么您是对的,并且您希望设置更长的缓存寿命。但是服务器端脚本通常也会返回一个网页;也就是说,他们的响应的 Content-Type 通常也是text/html如此。如果所有 HTML 都被缓存,动态生成的内容可能无法正确更新。

如果您只想使非静态 HTML 过期,您可以执行类似的操作

<FilesMatch "\.php$">
    ExpiresByType text/html "access plus 0 seconds"
</FilesMatch>

(以 PHP 为例)。

于 2013-10-30T20:55:33.100 回答