我正在通过Internet Explorer 9的缓存撕裂我的头发。Internet Explorer 9忽略没有缓存标头
我根据查询字符串值从perl脚本设置了一系列cookie。这些cookie包含关于横幅和颜色等页面上各种信息的信息。
我遇到的问题是,在IE9中,它始终总是使用缓存而不是使用新值。事件的顺序运行是这样的:
- 访问www.example.com/?color=blue
- Perl脚本,使用cookies,我重定向回www.example.com
- 颜色有蓝色,一切都如预期。
- 访问www.example.com/?color=red
- 饼干设置,设置为红色重定向,颜色,都属于正常
- 重访 www.example.com/?color=blue
- Perl脚本运行,Cookie重新设置(我已经证实了这一点),但! IE9从缓存中获取所有资源,因此重定向时我的所有颜色都保持为红色。
因此,每次访问新的URL时都会获得新的资源,但每次访问以前访问过的URL时,都会从缓存中检索它们。
以下meta标签是在<头example.com的>,我本以为这防止使用缓存:
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
对于它的价值 - 我也试过<META HTTP-EQUIV="EXPIRES" CONTENT="-1">
IE9似乎忽略所有这些指令。到目前为止,我在浏览器中获得成功的唯一时间是使用开发人员工具并确保将其手动设置为“始终从服务器刷新”
为什么IE忽略我的标头,以及如何强制它每次检查服务器?
你看过http://stackoverflow.com/questions/4360283/http-cache-control?试过私人? –
好吧,我刚刚尝试将其设置为CONTENT =“PRIVATE”,并遇到同样的问题。 –
尝试进行客户端API调用...在这种情况下,即使“始终从服务器刷新”也不起作用。 我现在有IE9几乎和我讨厌IE6一样多 – Vroomfundel