首页/网络/协议速查/ETag 实体标签
HTTP 头与缓存70 条

ETag 实体标签

响应内容的版本标识(不透明字符串):缓存与并发控制的核心校验值,分强校验与弱校验(W/ 前缀)。

协议速查网络更新于 2026-10-12
名称ETag
作用标识表示版本;配合 If-None-Match/If-Match
规范RFC 9110 §8.8.3
形式强:"abc";弱:W/"abc"(弱校验仅语义等价)

Nginx 自动生成与关闭

Nginx 自动生成与关闭
etag on;    # 默认开启,基于最后修改时间与长度
# 生成规则不同框架不一:有的用内容哈希(更稳),有的用 inode+mtime(重建后失效)
多台源站各自生成 ETag(含节点私有特征)时,负载均衡后同一资源 ETag 来回变化,缓存持续失效。集群必须保证 ETag 生成算法一致。

易错点

  • 用弱 ETag 做 If-Match 并发控制:弱校验匹配不同表示也通过,可能覆盖内容
  • Nginx + 后端双写 ETag 时相互覆盖,拿到的不是预期来源

数据来源与参考

  • RFC 9110 §8.8.3 ETag
  • RFC 9110 §13.1.2 If-None-Match

相关工具

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