48

如果一个 HTTP 响应同时返回 Expires 和 max-age 指示使用哪一个?

Cache-Control: max-age=3600
Expires: Tue, 15 May 2008 07:19:00 GMT

考虑到每个都指的是不同的时间点。

4

2 回答 2

57

看到这个答案:

三个 .htaccess 过期规则之间的区别

如果响应包含 Expires 标头和 max-age 指令, 则 max-age 指令将覆盖 Expires 标头,即使 Expires 标头更具限制性。对于给定的响应,此规则允许源服务器向 HTTP/1.1(或更高版本)缓存提供比 HTTP/1.0 缓存更长的到期时间。如果某些 HTTP/1.0 缓存不正确地计算年龄或过期时间,这可能很有用,可能是由于时钟不同步。

于 2011-09-26T00:23:20.900 回答
12

这个案例在 W3C的官方RFC中有解释。

max-age 指令优先于 Expires

于 2013-12-06T08:54:15.083 回答