我在 Windows Server IIS Web 服务器上有一个 PDF,用户使用这样的 HTTP 调用通过 IE8/9/10 请求它...
http: // mydomain.com / somefolder / myFile.pdf
第一次点击将下载文件没有问题。 问题:如果管理员更新 PDF,并且用户返回重新加载它,IE 仅显示本地缓存版本,不会从服务器请求新版本。
我已经确认,在第二次请求中,IE8、IE9 和 IE10 根本不会为 PDF 文件调用服务器。甚至没有条件请求(例如,if-updated-since)。使用 Fiddler 和 WireShark 确认了这一点。但我从来没有用 Max-Age 或任何东西明确设置缓存。我没有为该文件夹设置缓存。我不希望将缓存设置为“立即过期”。它也对 Word DOC 执行此操作。
Internet Explorer 中是否存在一个错误,使其始终使用静态文档(例如 PDF、DOC)的本地副本?
这些想法不起作用:
F5, CTRL+ F5, SHIFT+F5
使用 DELETE HISTORY 按钮清除浏览器历史记录和缓存。为什么这实际上并没有清除所有缓存超出了我的范围。除了密码,我已选择删除所有内容。
我知道的唯一方法是:
在本地手动删除 PDF,因为“删除历史”按钮不会删除本地版本。但大多数用户并不那么精明。
使用 Firefox,但这不是公司认可的浏览器。不要让我开始。
将服务器缓存设置为立即过期,但 pdf 与网页混合在文件夹中,我不喜欢这样做。我想将缓存最大年龄用于 CSS、脚本、图像等其他内容。
在末尾添加一个假的查询字符串,如 ?id=1,这样就可以了,但是业务线有 100 个文档,每个文档都带有必须更新的文档内的链接。
使用 FIDDLER“清除缓存”按钮或 CCleaner,但我公司的大多数用户(7 万名员工)都不是开发人员,不能拥有该软件。
有没有真正的解决方案,让 IE 表现得像我想象的那样?