如何解析 ETag 以便在 If-None-Match header 中使用

How to parse an ETag for use inside If-None-Match header

我已经尝试从各种 url(RSS 提要)获取 ETag,并为每个获取了不同的格式

W/"2c34-Lgd4oF7wqtfEvHc5kEphPr/7eaY"

W/"159a-VcHeTnlFfRm4lQABXPoMZNXbNSM"

o0Vn/cflaoT/ZhtK8pK+HPNXGAE(无引号)

"80238bdb1dced51:0"(包括引号)

kPn9GRCk70fI0HGuT3Yop7WU6DU(无引号)

我可以在 If-None-Match header 中以与提供它们相同的方式使用它们吗,我是否需要 add/remove 引号或者删除 W/

ETagIf-None-Match 的语法在 RFC 7232 中定义。

您会看到两个 header 使用相同的 entity-tag 引用;也就是说,ETag 的完整值(包括引号和 W/)应该在 If-None-Match.

中使用

现在,不包含引号的两个响应在句法上是无效的。也就是说,我确信浏览器等可以适应这种情况。您必须决定是准确反映它们并生成无效的 If-None-Match header,还是添加引号。很可能两者在实践中都同样有效。