浏览器缓存重新加载清单

时间:2015-05-04 07:19:01

标签: javascript html5 caching

我们正在寻找一个漂亮而干净的解决方案,为网站重新加载自动生成的浏览器缓存。想想如果发布新客户端需要缓存重新加载的版本化客户端。

有很多方法可以强制重新加载:

  1. 使用HTML5清单和“applicationCache”

  2. 在javascript“script tag”中使用时间戳。

  3. 服务器:具有“缓存控制:不缓存,必须重新验证”的不同HTML标头

  4. 但是,它们看起来并不是那么干净利落的解决方案。我们不想为HTMl applicationCache提供离线解决方案。

    问题是:有没有办法使用清单文件(或其他东西)为客户端提供版本,如果版本更改,浏览器会自动重新加载缓存?可能与HTML5 applicationCache,但我们不想离线使用该网站并存储一切。我们只想告诉浏览器清除他生成的缓存。

    如果我理解正确,这是不可能的,或者与HTML5 applicationCache的用法不同。如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:1)

一种常见的方法是:

  1. 让主要HTML文件(例如,index.html)与Cache-Control: no-cache, must-revalidatemaxage一起提供(基本上,不要让它被缓存)< / p>

  2. 在其加载的资源名称中使用版本号,例如script-v6.js,然后在script-v7.js更改时使用版本号,使用远期标头为这些资源提供服务,以便缓存它们很长一段时间

  3. 显然,在开发过程中,我们只有简单的文件名;版本号由构建过程添加,该过程执行所有其他构建,例如缩小,组合文件等。