使用HTTP响应标头通过HTTPS强制Internet Explorer的无缓存?

时间:2010-09-24 15:47:24

标签: java internet-explorer http caching weblogic

所以,我最近发现了这个小宝石。

http://support.microsoft.com/kb/323308

基本上,IE没有正确地通过HTTP Cache-Control: no-cache,这打破了下载。但是,我需要为我的应用程序中的许多响应禁用缓存,这些响应达到了相同的IO写入路径,我可以很容易地控制它。

有没有办法解决这个问题,以便我可以使用除响应头之外的任何东西强制在IE中通过HTTPS进行无缓存?期望我的用户进行注册表更改以修复IE的破坏行为是不现实的。

4 个答案:

答案 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)

尝试使用:

Pragma: no-cache

来自HTTP Spec