以下三个.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 mod_headers的指令,允许修改HTTP header 字段。在这种情况下,Header set有效地设置了提到的头字段Cache-ControlExpires,因此将覆盖已经存在的头字段。

第一条指令将头字段Cache-Control的值设置为max-age=290304000,该值将新鲜度生存期描述为相对于响应时间为290304000秒。

与此相反,第二个指令将 header 字段Expires设置为Thu, 15 Apr 2020 20:00:00 GMT值,该值用绝对时间值描述新鲜度生命周期。

都是Cache-Control’s max-age value and Expires expiration time stamp can be transformed to the other:



但是,如果两者都存在,Cache-Control’s max-age is preferred over Expires:



代替手动设置这些HTTP缓存控制 header 字段,mod_expires ExpiresDefault directive允许轻松设置HTTP缓存。可以使用相对于响应时间(即access/now)或相对于所请求文件的修改时间(即modification)的绝对值或相对值来描述保鲜期。它同时使用了Cache-Control和Expires。

在这种情况下,第三个指令将默认的新鲜度生存期设置为自响应之日起10年。

我将使用mod_expires进行HTTP缓存控制,而不是使用Header手动进行。它更加方便,允许相对和绝对刷新时间,并同时使用Cache-Control和Expires。

10-08 05:28