【问题标题】:How to tell the browser to remove a file from the cache and get the newly deployed file如何告诉浏览器从缓存中删除文件并获取新部署的文件
【发布时间】:2013-05-02 06:10:16
【问题描述】:

我们在 tomcat 上运行了 3 个不同的 web 应用程序。在不久的将来,会有一个 javascript,所有的 webapps 都必须包含在内。 javascript 应由内部 CDN 提供。

现在,如果我们更新这个 Javascript 文件,我们希望确保用户将获得最新的文件,这会导致我们遇到问题。作为提供商,我们如何告诉客户的浏览器从浏览器缓存中删除旧文件并接收新文件?

我们考虑了一个带有 src 的脚本标签到一个 servlet,动态地提供脚本,但是浏览器下次仍然不会再次询问,因为 url 没有改变......

而且我们也不希望通过添加随机数来完全禁用浏览器缓存...

【问题讨论】:

    标签: javascript caching cdn browser-cache


    【解决方案1】:

    将此代码添加到 元标记 将帮助您获取文件的最新版本。

    <meta http-equiv="Expires" content ="0" />
    <meta http-equiv="Pragma" content ="no-cache" />
    <meta http-equiv="Cache-Control" content ="no-cache" />
    

    更新:评论后

    我们只是想有可能告诉浏览器,什么时候 新版本将可用。

    要实现这一点,您需要 CRC [循环冗余校验] 概念

    看看here。这将对您有所帮助。

    【讨论】:

    • 这个元标记强制不缓存html文件,而不是js文件还是我错了?同样正如我所说,我们不想完全禁用缓存。我们只是希望有可能告诉浏览器什么时候有新版本可用。
    • @Christian,答案已更新。
    • 是的,这里的大多数答案都建议您在文件名中添加随机数,这是您不想要的。所以另一个转变就是这样。
    猜你喜欢
    • 2017-03-14
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多