我读到,当您无法访问网络服务器的标头时,您可以使用以下方法关闭缓存:
<meta http-equiv="Cache-Control" content="no-store" />
但我还了解到这在某些版本的 IE 中不起作用。是否有一组 标签可以关闭所有浏览器中的缓存?
该列表只是不同技术的示例,不适合直接使用 插入。如果复制,第二个将覆盖第一个 由于 http-equiv,第四个会覆盖第三个 声明 AND 通过 W3C 验证器失败。最多一个人可以拥有 每个 http-equiv 声明之一;编译指示、缓存控制和 过期。当使用现代的最新浏览器时,这些已经完全过时了。 反正IE9之后。 Chrome 和 Firefox 根本无法像您所期望的那样使用这些工具(如果有的话)。
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
元元素中的缓存头不可靠;其一, 网站和用户之间的任何网络代理都将完全忽略 他们。您应该始终对标头使用真实的 HTTP 标头,例如 缓存控制和编译指示。
根据独立安全评估者关于全行业对缓存控制的误解的伟大案例研究,只有 Cache-Control: no-store
被 Chrome、Firefox 和 IE 认可。 IE 可以识别其他控件,但 Chrome 和 Firefox 不能。
但是,缓存 headers 在元元素中并不可靠;其一,网站和用户之间的任何网络代理都将完全忽略它们。您应该始终对 Cache-Control 和 Pragma 等标头使用真实的 HTTP 标头。
<meta http-equiv="Pragma" content="no-cache">
timestamp
以确保
ie
认为这是不同的
http
服务请求。这对我有用,因此添加服务器端脚本代码片段来自动更新此标签不会有什么坏处:
<meta http-equiv="expires" content="timestamp">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">