微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

URL中的版本查询可绕过浏览器缓存

如何解决URL中的版本查询可绕过浏览器缓存

我正在编写一个Web应用程序,该应用程序可能会经常更新,包括对CSS和js文件的更改,这些更改通常是由浏览器主动缓存的。

为了使更改立即对用户可见,而又不影响缓存性能,我提供了以下系统:

每个资源文件都有一个版本。此版本附加一个?标志,例如main.css变为main.css?v = 147。如果更改文件,则会在所有引用中增加版本。 (实际上,每次部署更新时,我可能只有一个脚本来增加所有资源的版本。)

我的问题是:

  1. 这是生产代码的合理方法吗?我想念什么吗? (或者有更好的方法吗?)
  2. 问号是否会带来额外的开销?如果更有效,我可以将版本号合并到文件名中。

解决方法

这种方法听起来很合理。这里有几点要考虑:

  • 如果您有许多具有不同版本号的不同资源文件,那么对于开发人员而言,正确管理所有这些文件并在正确的情况下增加这些文件可能会产生相当大的开销。
    • 您可能需要为团队实施政策
    • 或编写CI任务以检查开发人员是否正确完成
  • 您可以对所有文件使用一个版本号。例如,当您拥有整个应用程序的版本号时,就可以使用它。
    • 它使开发人员可以“管理”版本。
    • 它会更改每次部署上的链接

根据资源文件的数量,您必须管理部署的频率与更改资源文件的部署的频率以及一个或另一种解决方案对这些资源文件的请求数量可能会更有效。这是一个权衡的问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。