缓存可以降低延迟,也可能让修复后的内容长期不可见。策略需要根据资源是否可变、是否包含用户数据分别设计。
可变页面使用再验证
HTML 通常适合较短缓存或 no-cache,允许浏览器保存副本但每次使用前向服务器确认。ETag 可以减少未变化内容的传输。
指纹资源长期缓存
文件名包含内容哈希的 CSS、脚本和图片可以使用较长 max-age 与 immutable。内容改变时生成新 URL,而不是覆盖原文件。
私有数据禁止共享
带用户身份的响应应明确 private 或 no-store。配置 CDN 前检查 Vary 和授权头,避免不同用户共享缓存对象。