Web 实践
给静态资源设置合适的缓存
区分页面与资源的更新频率,让缓存既节省请求,也不妨碍内容更新。
先区分内容类型
HTML 页面往往是内容更新的入口;CSS、图片等静态资源的变化频率则可能不同。为所有文件设置相同的长缓存,容易让更新后的页面继续引用旧资源。
两种常见做法
- 页面使用较短的缓存时间,或允许缓存后进行重新验证。
- 带有内容指纹的资源文件,可以使用较长缓存;内容变化时同时改变文件名。
max-age 描述缓存的新鲜时间。no-cache 并不等于禁止保存,而是要求复用前重新验证;no-store 则要求不要存储响应。
验证实际行为
修改配置后,可以查看浏览器网络面板中的响应头、状态码与资源大小。若前面还有反向代理或 CDN,也需要确认它们没有覆盖源站的缓存策略。
缓存应当服务于内容的更新方式,而不是单纯追求更长的有效期。