首页/网络/协议速查/Vary 缓存键维度
本包目录(405 条)
HTTP 方法与状态码91 条
HTTP 头与缓存70 条
DNS 与域名解析60 条TCP 与 UDP54 条TLS 与加密50 条IP 与 ICMP37 条邮件与文件传输43 条

Vary 缓存键维度

告诉(共享)缓存:该响应依赖哪些请求头来区分版本;同一 URL 不同 Accept-Encoding/Origin 必须分别缓存。

协议速查网络更新于 2026-10-12
名称Vary
作用扩展缓存键,避免跨版本污染
规范RFC 9110 §12.5.5
常用Vary: Accept-Encoding;CORS 场景 Vary: Origin

Nginx CORS 场景配置

Nginx CORS 场景配置
location /api/ {
    add_header Vary "Origin";
    add_header Access-Control-Allow-Origin "$http_origin" always;
}
Vary: * 表示响应无法被缓存;缺少 Vary: Accept-Encoding 则可能把 br 压缩版发给仅支持 gzip 的客户端,导致解压失败。

易错点

  • 动态回显 Origin 却不加 Vary: Origin,CDN 会把 A 站点的 CORS 响应发给 B 站点
  • Vary 头被网关卡住不转发,缓存层判断失真

数据来源与参考

  • RFC 9110 §12.5.5 Vary
  • RFC 9111 §4.1(缓存键)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌