静态资源的缓存策略

2026-06-15

缓存配置得当,重复访问几乎不产生网络开销。

区分两类资源

带内容指纹的资源可以设很长的缓存时间,因为内容变了文件名就变了。不带指纹的入口文件应当设很短的缓存,或者不缓存,否则更新发不出去。

常见的错误配置

把所有静态资源都设成长缓存,却又没有内容指纹。结果是改了文件但用户一直看到旧版本,只能靠强制刷新。

协商缓存

对入口文件启用协商缓存,可以让缓存有效的客户端只收到一个很短的响应,而不是整个文件。

发布时的配合

缓存策略要和发布流程一起设计:先发新资源,再更新入口引用。顺序反了会出现短暂的资源缺失。