HTTP 缓存语义

用 Cache-Control、ETag 与 Vary 表达缓存策略:公共缓存与私有缓存分层,命中校验走 304;缓存键未覆盖的维度变化会产生错误内容。

头示例

头示例
Cache-Control: public, max-age=3600, stale-while-revalidate=60
ETag: "v7"
Vary: Accept-Encoding, Accept-Language
带鉴权的响应默认不应被共享缓存存储:显式配置 private/no-store,避免跨用户串号。

易错点

  • 缓存键未包含语言或编码维度,返回错乱内容
  • 私有数据被共享缓存存储,造成跨用户泄露

数据来源与参考

  • RFC 9111:HTTP Caching
  • MDN Web 文档:HTTP 缓存
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌