【问题标题】:How to ensure broswer does not cache my JS/CSS [duplicate]如何确保浏览器不缓存我的 JS/CSS [重复]
【发布时间】:2012-11-14 10:41:20
【问题描述】:

可能重复:
Css file caching

我想确保用户始终获得我的代码的最新版本。

但是设置它以使浏览器不缓存文件是不好的,因为它需要在每个页面视图中重新加载。我想确保它不使用以前版本的缓存副本。例如。使用 1.3 版网站的 1.2 版 JS 的缓存副本。

我见过的一种方法是在每个版本上更改文件名并链接到每个版本上的不同文件名(例如'myscript1.3.js') 这看起来很费力,而且有点笨拙。

有没有更好的方法来做到这一点?

【问题讨论】:

标签: javascript css browser-cache


【解决方案1】:

这是一个非常好的解决方案,我什至会说这是最好的。

您还可以使用查询参数来指示新版本(?v=1、?v=2、...)。但这可能会抛弃一些公共代理(它们可能不会缓存文件)。详情见这里:https://developers.google.com/speed/docs/best-practices/caching#LeverageProxyCaching

当然,这需要您付出一些努力。但是你可以在你的部署过程中自动化所有这些(如何做到这一点完全取决于你的设置,所以我不能在不了解更多关于你的项目的情况下给你一个解决方案)。

【讨论】:

  • 有人愿意详细说明为什么这被否决了吗? - 还是只是@Rab Nawaz 的报复?
  • @Jan Han...如果可以的话,我会投票赞成...
【解决方案2】:

方法 1:您更改服务器标头。对于不同的服务器,这些可能会有所不同,但对于 apache 服务器,您可以查看 mod_cache 模块 http://httpd.apache.org/docs/2.4/mod/mod_cache.html

方法2:你使用一些元标签。你会在这里找到一个相关的问题Using <meta> tags to turn off caching in all browsers?

【讨论】:

  • 这将强制刷新每个页面视图,而不是网站的每个版本。这对性能不利
猜你喜欢
  • 2015-05-09
  • 1970-01-01
  • 1970-01-01
  • 2019-06-15
  • 1970-01-01
  • 1970-01-01
  • 2010-10-02
  • 2014-09-28
  • 2020-12-19
相关资源
最近更新 更多