Cache-Control s-maxage头文件是否覆盖Expires头文件来控制浏览器缓存?

4
我希望通过设置远期过期标头来减少每个浏览器发出的请求。我还想设置Cache-Control:s-maxage=600,以便代理缓存(以及CDN)每隔10分钟重新验证一次源以获取新鲜内容。即使存在具有s-maxage指令的Cache-Control标头(据说这将取代过期标头),浏览器是否会遵守过期标头?

1
请查看此答案:https://dev59.com/9W865IYBdhLWcg3wlvmq#3746325 - secondflying
那个答案没有提到s-maxage。 - Andy Hume
1
你可以看到HTTP规范。"私有缓存始终会忽略s-maxage指令。" http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.3 - secondflying
2个回答

2

-2
如果两者都包含,则两者都将被检查,没有优先级。Max-age不会取代expires,它是额外的。

这并没有错,你可以自己测试一下。Cache-control 是较新的选项,提供了更多的设置,但它并不会覆盖 Expires,两者都会被检查。 - David Merrilees
如果值冲突会发生什么?浏览器必须选择一个,并且那个是Cache-Control。 - Fabien Warniez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接