对于(企业)Web 项目,我想保留以前版本的静态文件,以便项目在准备好实施设计更改时可以自行决定。我最初的计划是为静态内容提供文件夹,如下所示:
company.com/static/1.0.0/
company.com/static/1.0.0/css/
company.com/static/1.0.0/js/
company.com/static/1.0.0/images/
company.com/static/2.0.0/
company.com/static/2.0.0/css/
company.com/static/2.0.0/js/
company.com/static/2.0.0/images/
这些文件夹中的每个文件都应该有一个缓存策略来“永远”缓存 - 至少一年。我还计划将 css 文件和 js 文件合并为一个,以尽量减少请求数量。
然后我还会提供一个current
文件夹(符号链接到最新发布的版本)
company.com/static/current/
company.com/static/current/css/
company.com/static/current/js/
company.com/static/current/images/
这将解决我的第一个问题(项目和子网站可以将其代码锁定到某个版本,并且可以随时升级)。
但后来我可以看到一些缓存问题。现在我不能“只”缓存current
文件夹,因为每个版本都会改变。我的缓存策略应该在那个文件夹上。
此外,对于每个版本,大多数静态文件无论如何都不会改变。永久缓存它们是否相关,如果有更改则重命名?
我在这里寻求建议,因为我想知道您在缓存和更改文件之间的最佳权衡。