以下三个 .htaccess 规则之间有什么区别以及何时使用每个规则,是否有任何特殊用例更喜欢其中一个?:
Header set Cache-Control "max-age=290304000"
Header set Expires "Thu, 15 Apr 2020 20:00:00 GMT"
ExpiresDefault "access plus 10 years"
Header是一个指令模组头允许修改 HTTP 标头字段。在这种情况下Header set
有效设置提到的标头字段缓存控制 and Expires,因此已经存在的标头字段将被覆盖。
第一个指令设置标头字段缓存控制与价值max-age=290304000
,它将相对于响应时间的新鲜度生命周期描述为 290304000 秒。
与此相反,第二个指令设置标头字段Expires与价值Thu, 15 Apr 2020 20:00:00 GMT
它以绝对时间值描述新鲜度寿命。
Both 缓存控制’s max-age值和Expires过期时间戳可以转换为其他时间戳:
4.2.1.计算保鲜期
缓存可以计算新鲜度寿命(表示为
freshness_lifetime)通过使用第一个匹配的响应
下列的:
但如果两者都在的话缓存控制’s max-age优先于Expires:
如果响应包含带有 max-age 的 Cache-Control 字段
指令(第 5.2.2.8 节),接收者必须忽略过期
场地。同样,如果响应包含 s-maxage 指令
(第5.2.2.9节),共享缓存接收者必须忽略 Expires
场地。在这两种情况下,Expires 中的值仅用于
对于尚未实现 Cache-Control 字段的接收者。
无需手动设置这些 HTTP 缓存控制标头字段,mod_expiresExpiresDefault指示允许轻松设置 HTTP 缓存。新鲜度寿命可以用绝对值或相对值来描述,或者相对于响应时间(即相对于响应时间)。access
/now
)或相对于所请求文件的修改时间(即modification
)。它同时使用缓存控制 and Expires.
在这种情况下,第三个指令将默认的新鲜度设置为从响应时间起 10 年。
我会使用 mod_expires 进行 HTTP 缓存控制,而不是手动执行Header
。它更加方便,允许相对和绝对保鲜时间并同时使用缓存控制 and Expires.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)