所以,我最近发现了这个小宝石。
http://support.microsoft.com/kb/323308
基本上,IE没有正确地通过HTTP Cache-Control: no-cache
,这打破了下载。但是,我需要为我的应用程序中的许多响应禁用缓存,这些响应达到了相同的IO写入路径,我可以很容易地控制它。
有没有办法解决这个问题,以便我可以使用除响应头之外的任何东西强制在IE中通过HTTPS进行无缓存?期望我的用户进行注册表更改以修复IE的破坏行为是不现实的。
答案 0 :(得分:1)
没有好的解决方案。不过,您可以尝试在请求中添加时间戳。
答案 1 :(得分:0)
我这样做是为了清除Web容器设置的缓存标头,它运行良好
response.reset(); //workaround IE restriction against streaming to cache from SSL
response.setContentType("myMIMEType");
response.setHeader("Content-Disposition", "attachment; filename=\"" + whateverGoesHere + "\"");
然后将文件发送到输出流。显然,如果你想在浏览器窗口而不是文件保存对话框中呈现它,你就不会放置attachment;
处置类型。
答案 2 :(得分:0)
刚刚遇到与IE8相同的问题(但不是IE9),发现修复程序为:
Pragma: private
Cache-Control: private, must-revalidate
以防有人还在寻找。
答案 3 :(得分:-1)