HTMLPAGE Logo

HTTP 缓存

作者:HTMLPAGE
发布日期:2025-11-26
待分类

利用浏览器缓存,减少网络请求

HTTP 缓存是 Web 性能优化中最直接的工具之一。本文介绍常见 header 配置与策略。

关键 header

  • Cache-Control(max-age, public/private, immutable)、ETagLast-Modified

实践建议

  • 对静态资源使用长缓存并结合内容哈希,动态内容使用短缓存和条件请求。

初步纲要

HTTP 缓存是提高前端资源交付效率与降低后端负载的核心机制。本文覆盖 Cache-Control、条件请求(ETag/Last-Modified)、以及 CDN 层的缓存策略。

基本头与语义

  • Cache-Control: max-age:客户端或 CDN 在指定时间内可直接使用缓存。
  • ETag / If-None-Match:通过实体标签支持条件请求,服务端返回 304 以节省带宽。

CDN 与边缘缓存策略

  • 在 CDN 层对静态资源启用长缓存(immutable + content-hash 文件名),对动态或个性化内容使用短 TTL 或按规则回源。
  • 使用 stale-while-revalidatestale-if-error 提供更平滑的故障与升级体验。

缓存键与变体

  • 为不同用户或变体(语言、设备)生成合适的缓存键,可使用查询参数或 Vary 头控制缓存多样性。

失效与回滚

  • 推荐使用 content-hash(内容哈希)而非手动清理 CDN 缓存,发布时通过新文件名实现无痛失效。

小结:合理组合缓存头、CDN 与内容命名策略能显著提升加载性能并降低基础设施成本。

微信中可直接分享当前页面