Omr*_*nic 10 apache .htaccess http-caching http-headers
以下三个.htaccess规则之间的区别是什么以及何时使用每个规则,是否有任何特殊用例更喜欢其中一个?:
Header set Cache-Control "max-age=290304000"
Header set Expires "Thu, 15 Apr 2020 20:00:00 GMT"
ExpiresDefault "access plus 10 years"
Run Code Online (Sandbox Code Playgroud)
Header是mod_headers的指令,允许修改HTTP头字段.在这种情况下,Header set有效地设置提到的头字段Cache-Control和Expires,因此将覆盖已存在的头字段.
第一个指令使用值设置头字段Cache-Control,该值max-age=290304000将新鲜度生命周期描述为相对于响应时间为290304000秒.
与此相反,第二指令可将报头字段过期与值Thu, 15 Apr 2020 20:00:00 GMT描述与绝对时间值的新鲜度的寿命.
4.2.1.计算新鲜度寿命
缓存可以使用以下第一个匹配项计算响应的新鲜度生命周期(表示为fresh_lifetime):
但如果两者都存在,则Cache-Control的max-age优先于Expires:
如果响应包含带有max-age指令的Cache-Control字段(第5.2.2.8节),则收件人必须忽略Expires字段.同样,如果响应包含s-maxage指令(第5.2.2.9节),则共享缓存接收方必须忽略Expires字段.在这两种情况下,Expires中的值仅适用于尚未实现Cache-Control字段的收件人.
mod_expires ExpiresDefault指令不是手动设置这些HTTP缓存控制头字段,而是允许轻松设置HTTP缓存.新鲜度寿命可以用绝对值或相对值来描述,相对于响应时间(即access/ now)或相对于所请求文件的修改时间(即modification).它使用Cache-Control和Expires.
在这种情况下,第三个指令将默认新鲜度生命周期设置为自响应时起10年.
我会使用mod_expires进行HTTP缓存控制,而不是手动执行Header.它更方便,允许相对和绝对新鲜度时间,并使用Cache-Control和Expires.
| 归档时间: |
|
| 查看次数: |
4983 次 |
| 最近记录: |