通过HTML的META设置expires和cache-control 控制缓存真的能生效吗?

网上有很多帖子教通过HTML的META设置expires和cache-control设置缓存。

<meta http-equiv="Cache-Control" content="max-age=7200" />
<meta http-equiv="Expires" content="Sun Oct 15 2018 20:39:53 GMT+0800 (CST)" />

但是,验证后并没有效果。这个方案真的有效吗?或者具体哪些场景下有效?

阅读 4.7k
1 个回答

这个是 IE 时代的私有属性,在 IE9 以前支持的,而现在主流的 Chrome / Firefox / Safari,包括 IE9 ~ IE11 都不支持。

这个东西是 HTTP/1.0 时代的产物,因为 HTTP/1.0 里关于缓存的可设定太少了,而 HTTP/1.1 刚出来的时候还不是所有浏览器都支持,所以把这个玩意儿放到了 HTML 页面里了。如果你的页面需要兼容 IE 低版本,那么可以加上。

现在上哪找还只支持 HTTP/1.0 的 Web 服务器去啊,全都是 HTTP/1.1 了。而且随着 HTTPS 的普及,估计很快就该全面 HTTP/2 了。


P.S.1 http-equiv 倒确实在 HTML 规范中有几个值可以设( content-security-policycontent-typedefault-stylex-ua-compatiblerefresh),但都跟缓存无关。


P.S.2 中文网络的技术博客就是互相抄。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏