网上有很多帖子教通过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)" />
但是,验证后并没有效果。这个方案真的有效吗?或者具体哪些场景下有效?
网上有很多帖子教通过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)" />
但是,验证后并没有效果。这个方案真的有效吗?或者具体哪些场景下有效?
5 回答8k 阅读✓ 已解决
4 回答11.1k 阅读
3 回答1.8k 阅读✓ 已解决
3 回答4k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
5 回答1.5k 阅读
这个是 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-policy
、content-type
、default-style
、x-ua-compatible
、refresh
),但都跟缓存无关。P.S.2 中文网络的技术博客就是互相抄。