Web applications 阻止web应用程序升级时的浏览器缓存

Web applications 阻止web应用程序升级时的浏览器缓存,web-applications,browser,caching,upgrade,Web Applications,Browser,Caching,Upgrade,我有一个相当麻烦的问题,我还没有找到一个好的解决办法 我允许通过浏览器缓存所有应用程序静态文件(JS、CSS和图像),以提高性能 问题是,当我进行升级时,用户仍然使用缓存中的旧版本,这经常会破坏应用程序,每次都需要清除缓存来解决问题 是否有任何好的多浏览器方法仍然允许缓存文件,但可以在需要时强制重新加载它们 谢谢您提供的任何信息。我听说过在您希望用户缓存的文件名中使用版本号,但我不能说这与其他选项相比有多“好”。在URL中添加一些内容作为参数,例如myresource.css?version=1

我有一个相当麻烦的问题,我还没有找到一个好的解决办法

我允许通过浏览器缓存所有应用程序静态文件(JS、CSS和图像),以提高性能

问题是,当我进行升级时,用户仍然使用缓存中的旧版本,这经常会破坏应用程序,每次都需要清除缓存来解决问题

是否有任何好的多浏览器方法仍然允许缓存文件,但可以在需要时强制重新加载它们


谢谢您提供的任何信息。

我听说过在您希望用户缓存的文件名中使用版本号,但我不能说这与其他选项相比有多“好”。

在URL中添加一些内容作为参数,例如
myresource.css?version=1
。文件将被正确地服务,这是强制重新加载缓存的一个技巧。您只需要动态生成html页面

我能想到的选项:

  • 减少缓存TTL
  • 将可缓存内容存储在版本化目录树中,例如:
    • /app/1.2/css/
    • /app/1.2/js/

您可以使用以下格式进行自动随机版本控制

对于js文件:

对于css文件:


+1。这就是.Net在使用嵌入式web资源时所做的。这个问题似乎更详细地涵盖了这个主题:嗨。谢谢你的链接,它似乎给出了一个非常透彻的解释。另外,为了理解您自己的解释,版本参数是否需要永远保留在链接中,然后在每次版本升级时递增(如您发布的链接中)?再次感谢。