在此链接下您有一些关于如何Cache-Control
在 Apache2 服务器中设置标头的示例。因此,通常有三种不同的方法来设置这些标头:
- 同时使用
mod_expires
+mod_headers
- 仅使用
mod_headers
- 仅使用
mod_expires
它们之间有什么显著的区别吗?哪一个是首选,为什么,或者可能根本不重要?Cache-Control
在 Apache2 中设置标头的最佳方法是什么?
答案1
主要区别在于mod_expiresCache-Control
如果您的 Web 应用程序或脚本已经设置了标头,则不会替换/更新标头Expires
,并且除了缓存控制标头之外无法真正用于设置任何内容max-age
。
这Header
指令来自mod_headers另一方面,可以配置为不那么体贴,也会很乐意将任何现有标头合并或完全替换为您指定的新标头。这允许您覆盖Cache-Control
Web 应用程序或脚本设置的任何(默认且不可配置的)标头,以及设置任何其他标头。
据我所知,mod_headers 没有提供执行 mod_expires 计算未来日期的计算的接口,即将 Expires 标头设置为时间戳,否则now + 1 month
不能使用 Header 指令。
所以这些模块是互补的。