Cache-control max-age meta标签未注册

8

我已经将这个放在头部。它会出现在浏览器的页面源代码中。

<meta http-equiv="Cache-Control" content="max-age=1209600">

然而,当我查看Chrome扩展程序“Live HTTP Headers”时,它显示如下内容。
Cache-Control: max-age=0
Content-Encoding: gzip
Content-Length: 5849
Content-Type: text/html; charset=utf-8
Date: Sat, 05 Apr 2014 04:29:16 GMT
Expires: Sat, 05 Apr 2014 04:29:16 GMT
Last-Modified: Sat, 05 Apr 2014 03:33:19 GMT
max-age没有生效。我已清空浏览器缓存,但没有任何变化。
有什么解释吗?顺便提一下,这是网站链接:这里
更新:
Firebug同样记录了Cache-Control: max-age=0
Google在这里明确表示max-age会覆盖Expires头部(我没有设置),你不需要同时使用两者。

1
一个元标签不会影响服务器返回的HTTP头。但是浏览器应该读取头和元标签来应用其缓存规则。你只是无法通过查看头来调试浏览器如何解释它,你需要检查它的行为,即它下一次需要该资源时是否会发起新的网络请求,还是从缓存中获取? - Simon East
1个回答

7
当您使用诸如Live HTTP Headers这样的工具时,它们会向您显示浏览器发送的实际HTTP头。它们对用于模拟HTTP头的meta标签的处理方式是一个不同的问题。我们可以期望任何冲突都会被解决为实际头部的优先权。(这已经在HTML规范中针对Content-Type头部进行了规范说明。)
要控制缓存,您应该(至少主要)使用服务器配置。请参见《Web作者和站长的缓存教程》

2
抱歉耽搁了。那么,您是在暗示服务器配置正在覆盖元标记吗? - Nick

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