【问题标题】:Prevent Browser File Caching防止浏览器文件缓存
【发布时间】:2017-02-06 03:26:36
【问题描述】:

我需要在所有浏览器中禁用单个文件的缓存。 我有一个生成小视频剪辑的网站。有一个预览阶段,可以查看结果。

会显示一个名为 preview.mp4 的 mp4。当用户返回编辑视频并想再次预览时,即使服务器上的文件已更改,旧的 preview.mp4 仍会显示。

如何防止缓存此视频文件?或者还有什么其他方法可以解决?

注意:它是一个单页应用程序,所以我不会重新加载任何 HTML 文件。只有 PHP 内容。因此,我设置的标题在这种情况下没有用:

<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
<meta http-equiv="cache-control" content="no-store" />

谢谢。

【问题讨论】:

标签: html caching browser-cache


【解决方案1】:

你应该关心的不是网页本身,而是单独下载和缓存的mp4文件。

确保mp4 文件的响应标头防止浏览器缓存。

Cache-Control: no-cache

【讨论】:

    【解决方案2】:

    因此我设置的标题在这种情况下没有用:

    <meta http-equiv="cache-control" content="no-store" />
    

    这里的问题是那些不是标题。

    它们是 HTML 元素(它们是 HTML 文档的一部分,是 HTTP 响应的主体),它们试图等同于 HTTP 标头……但失败了。

    您需要设置real HTTP 标头,并且您需要将它们与视频文件(而不是 HTML 文档)一起发送。

    具体操作方式取决于您使用的 HTTP 服务器。

    进一步阅读:

    【讨论】:

      【解决方案3】:

      尝试添加缓存键

      preview.mp4?cachekey=randNum
      

      其中 randNum 可以是时间戳,也可以使用随机数生成器生成 randNum。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-09
        • 2011-04-28
        • 1970-01-01
        • 1970-01-01
        • 2019-01-02
        • 2013-02-17
        • 2011-02-08
        • 2011-11-07
        相关资源
        最近更新 更多