【问题标题】:How to make sure a resource is pulled from server, not cache?如何确保从服务器中提取资源,而不是缓存?
【发布时间】:2015-03-18 16:44:41
【问题描述】:

情况是这样的,我有一个管理项目大纲的网站,用户可以将 PDF 上传到一个弹出窗口,然后可以单击项目大纲的配置文件部分的链接,在另一个弹出窗口中查看他们的 PDF .

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

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

感谢您的帮助!

【问题讨论】:

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


    【解决方案1】:

    您可以如下设置标题以防止缓存:

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

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

    【讨论】:

    • 如果我在文件名上使用时间戳,我将如何提取正确的图像?
    • 您将其添加为查询字符串:thefile.pdf?1426698099
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 2015-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多