如何防止在java中通过http响应头在Internet Explorer 9中进行缓存?

如何防止在java中通过http响应头在Internet Explorer 9中进行缓存?,java,jakarta-ee,Java,Jakarta Ee,我试图通过在java代码中设置以下标题来限制PDF文件的缓存: response.setHeader("Cache-Control", "no-store"); response.setHeader("Expires", "0"); 这与IE 8配合得很好。然而,IE9失败了,它仍然在temoporary internet files文件夹中缓存文件 谁能给它点颜色看看吗 谢谢和问候 拉玛 这大概是你想要的 response.setDateHeader("Expires", 1L); resp

我试图通过在java代码中设置以下标题来限制PDF文件的缓存:

response.setHeader("Cache-Control", "no-store");
response.setHeader("Expires", "0");
这与IE 8配合得很好。然而,IE9失败了,它仍然在temoporary internet files文件夹中缓存文件

谁能给它点颜色看看吗

谢谢和问候

拉玛

这大概是你想要的

response.setDateHeader("Expires", 1L);
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.addHeader("Cache-Control", "no-store");

这是我通常使用的。

我使用过这个,它很有效

// Set to expire far in the past.
response.setHeader("Expires", "Mon, 23 Aug 1982 12:00:00 GMT");

// Set standard HTTP/1.1 no-cache headers.
response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");

// Set IE extended HTTP/1.1 no-cache headers (use addHeader).
response.addHeader("Cache-Control", "post-check=0, pre-check=0");

// Set standard HTTP/1.0 no-cache header.
response.setHeader("Pragma", "no-cache");

我没有IE9,但您可能想进一步探索,仅此而已,它在IE9上对我有效

response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");<br/>
response.setHeader("Pragma","no-cache");<br/><br/>
response.setHeader(“缓存控制”,“无存储,无缓存,必须重新验证”)
setHeader(“Pragma”,“无缓存”)

但是如果我加上

response.addHeader("Cache-Control", "post-check=0, pre-check=0");<br/>
response.addHeader(“缓存控制”,“后检查=0,前检查=0”)
那么它就不起作用了……

请参阅:

您好,我已经尝试了该标头,但它不起作用。从HTTP标头文档中,我可以看出,没有存储比没有缓存更好,而且它在IE 8上运行良好,但在IE 9上不起作用。我手头没有代码,但我以前使用过它。我相信这些标题是如上所述编辑的。Cache-Control:无缓存,必须重新验证,max age=0
response.addHeader("Cache-Control", "post-check=0, pre-check=0");<br/>