我正在尝试通过在 java 代码中设置以下标头来限制 PDF 文件的缓存:
response.setHeader("Cache-Control", "no-store");
response.setHeader("Expires", "0");
这在 IE 8 上运行良好。但是在 IE 9 上它失败了,它仍在临时 Internet 文件夹中缓存文件。
任何人都可以对它有所启发吗?
感谢和问候,
拉玛
我正在尝试通过在 java 代码中设置以下标头来限制 PDF 文件的缓存:
response.setHeader("Cache-Control", "no-store");
response.setHeader("Expires", "0");
这在 IE 8 上运行良好。但是在 IE 9 上它失败了,它仍在临时 Internet 文件夹中缓存文件。
任何人都可以对它有所启发吗?
感谢和问候,
拉玛
就这样它在 Ie9 上对我有用
response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");<br/>
response.setHeader("Pragma","no-cache");<br/><br/>
但如果我添加
response.addHeader("Cache-Control", "post-check=0, pre-check=0");<br/>
那么它不起作用......请
参考:http:
//blogs.msdn.com/b/ieinternals/archive/2009/07/20/using-post_2d00_check-and-pre_2d00_check-cache-directives.aspx
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,但您可能想进一步探索Cache-Control
Cache-Control: no-cache, must-revalidate
Expires:Sat, 26 Jul 1997 05:00:00 GMT
大概是你想要的。