Etag 在 RFC2616 上的定义
Etag
用于比较来自同一请求资源的两个或多个实体. HTTP/1.1 在 ETag
(第14.19节),
If-Match
(第14.24节), If-None-Match
(第14.26节)
和 If-Range
(第14.27节) 的标头中使用 Etag
.
上述标头作为缓存验证器的使用和比较定义在第13.3.3节中.
Etag
由一个不透明的引号字符串组成, 可能会带有一个弱指示符前缀.
entity-tag = [ weak ] opaque-tag
weak = "W/"
opaque-tag = quoted-string
"强实体标签" 只有在两个资源的实体的八进制相等时才可以[MAY]共享.
只有在两个资源的实体等同并且可以互相替换而不会显著改变语义时, 带有 W/
前缀的 "弱实体标签" 才可共享.
"弱实体标签" 标签只能用于弱比较.
一个实体标签必须与特定资源相关的所有版本中的所有实体里唯一. 一个给定的实体标签值可以用于通过不同 URI 请求获得的实体. 使用相同的实体标签值与通过不同 URI 请求获得的实体结合使用并不意味着这些实体是等价的.