首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >htaccess 'Header unset Last-Modified‘缓存问题

htaccess 'Header unset Last-Modified‘缓存问题
EN

Stack Overflow用户
提问于 2010-03-31 00:04:44
回答 2查看 12.5K关注 0票数 4

我正在尝试在我的htaccess文件中设置一些缓存控制选项。

目前看起来是这样的:

代码语言:javascript
复制
<FilesMatch "\.(flv|gif|jpg|jpeg|png|ico|swf|css|js|html|pdf)$">
Header set Cache-Control "max-age=2592000, public, must-revalidate"
Header unset ETag
FileETag None
</FilesMatch>

然而,我读到(并希望添加)标题未设置Last-Modified,因此它将类似于:

代码语言:javascript
复制
<FilesMatch "\.(flv|gif|jpg|jpeg|png|ico|swf|css|js|html|pdf)$">
Header set Cache-Control "max-age=2592000, public, must-revalidate"
Header unset Last-Modified
Header unset ETag
FileETag None
</FilesMatch>

然而,使用这个(根据Firebug)根本不会从缓存中加载任何东西(而第一种技术加载所有内容)

我做错了什么吗?语法似乎是正确的。

一个。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-18 17:58:19

语法是正确的,但是用法不正确。根据这里的“速度提示:删除最后修改的标题”:http://www.askapache.com/htaccess/apache-speed-last-modified.html

如果您删除Last-Modified和ETag头文件,您将完全消除If - Modified - stay和If-None-Match请求及其304 Not Modified响应,因此文件将保持缓存而不检查更新,直到Expires头指示新内容可用!

另外:

通过从静态文件(图像、javascript、css)中移除ETag头文件和最后修改的头文件,

浏览器和缓存将无法验证文件的缓存版本与真实版本。通过还包括Cache-Control头和Expires头,您可以指定将某些文件缓存一段时间,并且您可以神奇地(我保证这是一个非常独特的技巧)消除任何验证请求!!

有关更多详细信息,请参阅原始链接。

票数 4
EN

Stack Overflow用户

发布于 2018-07-16 23:26:08

删除Last-Modified的一个用例是如果资源使用新的cache-control: immutable指令,该指令指示缓存该资源永远不会更改(例如,当使用散列控制文件版本时)。微优化..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2546711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档