如何确保从服务器而不是缓存中提取资源?

时间:2015-03-18 16:44:41

标签: html asp.net-mvc caching kendo-ui href

情况就是这样,我有一个管理项目大纲的网站,用户可以将PDF上传到弹出窗口,然后可以点击项目大纲的个人资料部分上的链接,在另一个弹出窗口中查看他们的PDF 。

目前,如果您上传的PDF正在替换旧版本,则浏览器仍会显示旧版本的PDF。我发现显示的内容是该PDF的缓存版本。 PDF必须保持一致的名称(一个名为X的项目的大纲,将始终被称为"大纲X.pdf")

我一直在寻找一种方法来确保显示的内容始终从服务器中取出。我不需要从服务器提取整个页面,只需要某些资源。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我不知道你使用的是什么语言,因为你没有提供任何代码,所以我不能给你任何代码,但通常最常见的绕过缓存的策略是附加一些字符串(通常是网址末尾的当前时间戳记。因此,不要获得“/Outline%20X.pdf”,而是获取“Outline%20X.pdf?1426697196”,其中1426697196 =当前时间戳。

答案 1 :(得分:0)

您可以按照以下方式设置标头以防止缓存:

Expires: 0
Pragma: no-cache
Cache-Control: no-cache, no-store, must-revalidate

您还可以将随机查询字符串(如时间戳)附加到文件名。