java - IE6 和 IE8 的 PDF 缓存(在临时 Internet 文件\content.ie5 下)问题

标签 java internet-explorer caching pdf spring-mvc

我有一个 spring MVC Controller ,它的请求映射到一个 URL。点击此 URL 时,会出现“保存/打开 PDF”弹出窗口。打开它时,PDF 将作为缓存保存在临时 Internet 文件/content.ie5 下。但是,出于安全原因,不应将此 PDF 保存为缓存。后来我找到了一个解决方案,使用以下方式打开 PDF 内联:

pResponse.setHeader("Content-Disposition",
                "inline;filename=csi.pdf");

对于 IE8,PDF 不会保存为缓存。但是对于 IE6,它会再次被缓存。为了处理这个问题,我使用了这个:

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.

现在,该解决方案适用于 IE6,不适用于 IE8。有人可以告诉我如何处理这个问题吗?

最佳答案

如果您正在处理安全内容,我认为您不应该依赖缓存/不缓存,因为它是特定于浏览器/应用程序的。例如,您尝试过 Firefox 吗?如果用户喜欢一些不同的(并且不寻常的)浏览器怎么办?

您应该通过 https 提供它,这将由于加密而禁用网络上所有可能的缓存,但我相信它在打开时仍可能被 Acrobat 缓存。

另一种选择是使其成为受密码保护的 pdf。

关于java - IE6 和 IE8 的 PDF 缓存(在临时 Internet 文件\content.ie5 下)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9462633/

相关文章:

java - 在给定实例上重写compareTo方法的更简单方法

windows - 如何获取 Internet Explorer 支持的 SSL/TLS 密码列表

javascript - 在什么情况下Javascript在IE8中的性能会比IE7差?

android - 如果离线,使用 Picasso 从磁盘缓存加载图像

java - ConcurrentHashMap 作为缓存

java - 无法在java中找到while循环行为

java - 如何可靠地写入字节数组

java - 如何在不改变实际卡号的情况下屏蔽信用卡号以在selenium中发送 key ?

javascript - 我怎样才能停止在 IE 中使用 moment.js 获取无效日期?

wpf - 为什么 <Image Source ='...' > 这么慢,我该怎么办?