【问题标题】:How to parse an ETag for use inside If-None-Match header如何解析 ETag 以在 If-None-Match 标头中使用
【发布时间】:2020-05-05 07:21:59
【问题描述】:

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

W/"2c34-Lgd4oF7wqtfEvHc5kEphPr/7eaY"

W/"159a-VcHeTnlFfRm4lQABXPoMZNXbNSM"

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

"80238bdb1dced51:0"(包括报价)

kPn9GRCk70fI0HGuT3Yop7WU6DU(无引号)

我可以在If-None-Match 标头中以与提供它们相同的方式使用它们吗?我需要添加/删除引号还是删除W/

【问题讨论】:

    标签: http header rss etag


    【解决方案1】:

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

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

    现在,不包含引号的两个响应在语法上无效。也就是说,我确信浏览器等会为这种情况做出调整。您必须决定是完全镜像它们并生成无效的If-None-Match 标头,还是添加引号。很可能两者在实践中都同样有效。

    【讨论】:

    • 谢谢,有趣的是,有些网站提供了语法正确的 ETag,但没有实现 If-None-Match(来自 aljazeera.com 的 "80238bdb1dced51:0" 格式);至少 If-Not-Modified-Since 在上面工作
    猜你喜欢
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 2018-06-24
    • 2018-07-12
    • 2012-11-27
    • 2020-07-03
    • 2019-08-26
    相关资源
    最近更新 更多