【发布时间】:2012-12-17 22:15:34
【问题描述】:
我们正在托管一个包含多个 javascript 文件的 PHP 应用程序。目前我们通过在 javascript 文件的 url 中附加一个 get 参数(时间戳)来破坏缓存,即:http://ourserver.com/scripts/something.js?cachebust=1289438903
随着文件数量的增加,应用程序的性能会下降。我们可以使用哪些解决方案来缓解这个问题,从 js 构建系统到 apache2 配置?哪些选项需要对我们的应用程序代码和我们当前的开发工作流程进行最少的更改?
【问题讨论】:
-
我不完全清楚问题是什么。您是否遇到了项目没有按照您期望的方式缓存的问题?您是否出于某种原因故意不缓存您的 javascript 文件?
-
如果你想让 JS 被缓存,只需停止这样做。
-
我假设 cachebust 时间戳是文件上次更改的时间(或者可能是上次部署的时间)?如果是当前时间,那就太疯狂了!
-
我同意@Diodeus。您无需为每个请求附加不同的 url 参数。仅当 js 文件有更新并且您希望客户端开始使用新的更新版本的 js 时才执行此操作。
标签: javascript web apache2 browser-cache