静态资源
一句话:网页里不会因用户/请求不同而变化的文件,如图片、CSS样式表、JS脚本、字体文件,通常可以被缓存和CDN加速。
它是什么
和每次请求可能返回不同结果的动态内容(比如个人订单列表)不同,静态资源对所有用户返回的内容都一样,天然适合缓存和CDN分发,这也是网站性能优化的重点对象之一。
适合干什么
- 网站的图片、CSS、JS、字体等文件的加载优化
- 需要提升页面加载速度
不适合干什么
- 因用户/请求而变化的动态数据(那些不适合长期缓存)
普通人怎么用
确保项目构建后生成的静态文件(JS/CSS等)文件名带有内容哈希(大部分现代构建工具默认就是这样),这样内容变化文件名也会变,可以放心设置长期缓存而不用担心用户看到旧版本。
进阶用户怎么用
合理配置静态资源的缓存策略(Cache-Control头),带哈希的文件可以设置成几乎永久缓存,配合CDN分发进一步提升全球访问速度;对图片等资源做压缩和格式优化(如WebP格式)减少传输体积。
常见误区
- 静态资源不设置任何缓存策略,导致每次访问都重新下载,浪费带宽也拖慢加载速度
- 文件名不带哈希却设置了长期缓存,内容更新后用户长时间看不到最新版本(见cdn-cache)
和相似工具的区别
- 和CDN缓存的关系:静态资源是CDN缓存最典型的应用对象,两者经常配合一起讨论
入门步骤
- 确认构建工具是否给静态文件名加了内容哈希
- 配置合理的缓存策略
- 考虑接入CDN加速分发