Expires vs max-age,如果两者都在HTTP响应中声明,那么哪一个优先?

vto*_*ola 36 http cache-control http-caching http-headers

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

Cache-Control: max-age=3600
Expires: Tue, 15 May 2008 07:19:00 GMT
Run Code Online (Sandbox Code Playgroud)

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

Pet*_* O. 46

看到这个答案:

三个.htaccess到期规则之间的差异

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

  • 这一般适用; 上面的段落来自HTTP/1.1规范的第14.9.3节. (7认同)
  • 是仅在Apache中还是一般规则?谢谢. (2认同)

Cyb*_*axs 9

此案例在W3C 的官方RFC中进行了解释.

max-age指令优先于Expires