JavaScript 默认缓存多长时间
how long is javascript cached by default
我们有一个生产版本,由于我们更新的javascript而出现了问题。客户端具有导致问题的 javascript 文件的旧缓存版本。解决方法是让他们刷新浏览器缓存(按 F5),但我试图了解默认情况下 javascript 缓存多长时间。
我没有看到在服务器端设置的缓存控制标头或过期标头,并且在 chrome 的开发人员控制台中看不到这些标头。我确实看到页面上设置了以下元标记。这些元标记会让我相信 JS 没有缓存 - 但我们知道这是因为我们有很多用户报告问题并按 F5 修复它。
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
所以回到我最初的问题 - 如果我们不设置缓存标头,javascript 默认缓存多长时间。我很抱歉,因为我确定这个问题是在其他地方问的,我似乎找不到具体的答案。以下是我可以看到设置的所有标题:
Accept-Ranges:bytes
Connection:Keep-Alive
Content-Length:157271
Content-Type:application/x-javascript
Date:Tue, 23 Feb 2016 15:37:38 GMT
Keep-Alive:timeout=15, max=500
Last-Modified:Sat, 20 Feb 2016 10:57:45 GMT
Strict-Transport-Security:max-age=31536000; includeSubDomains
X-Content-Type-Options:nosniff
我知道如何添加缓存标头。我们有一个影响许多客户的生产问题。对于大型站点,将修复程序迁移到生产环境可不是一件小事。 我试图找出浏览器默认缓存多长时间,因为如果我们不迁移修复程序,那么在浏览器自然重新获取较新版本的 javascript 之前,这就是我们的客户存在多长时间的问题。例如,如果是 2 天,那么问题已经自行解决,而无需我们采取行动。
似乎答案就在我面前。没有缓存标头,但下面的标签似乎说永远缓存,而不管它前面的无缓存元标记如何。
<meta http-equiv="expires" content="0">
因此,我们必须进行生产迁移,并将缓存破坏程序添加到我们所有的javascript中以解决问题,或者继续告诉每个客户端刷新页面。
相关文章:
- 为什么我的上下文选择器和.buttonset()在ie中花费了这么长时间
- 谷歌地图需要很长时间才能在ie11中渲染
- 有没有一种方法可以检查javascript以毫秒为单位执行一个函数需要多长时间
- 我一直收到的控制台警告是什么?推迟长时间运行的计时器任务以提高滚动的流畅性
- 为什么这个代码不起作用?我花了很长时间试图弄清楚这一点
- 如何在长时间执行JavaScript期间显示微调器
- 长时间轮询:每个浏览器中的通知
- 完整日历:如何支持一次点击和不长时间点击
- 如何使用 javascript 停止对 asp.net 进行正在进行的回发(长时间运行的执行)
- 为什么这个 AJAX 调用需要这么长时间
- 为什么这个正则表达式需要这么长时间才能执行
- 如何修复长时间运行的脚本
- Node.js中的垃圾收集作用域-变量将保持设置状态多长时间
- javascript秒表限制最长时间
- 长时间运行的脚本IE与Chrome/Firefox
- 有没有一种方法可以在长时间运行的JavaScript操作之前强制回流
- 我的无引用 JavaScript 对象存在在哪里以及存在多长时间
- JavaScript 默认缓存多长时间
- javascript包含将被缓存多长时间
- 散列CSS和JS文件长时间以相同的值加载,避免缓存是有意义的