【问题标题】:Is a 302 redirect to relative URL valid, or invalid?302 重定向到相对 URL 是有效的还是无效的?
【发布时间】:2012-01-05 05:18:49
【问题描述】:

根据 RFC,302 的 HTTP 响应中的 Location 字段似乎应该是绝对的。 https://www.rfc-editor.org/rfc/rfc2616#section-14.30

如果这句话是正确的,浏览器会尊重这一点 - 还是允许相对路径?

【问题讨论】:

    标签: http redirect


    【解决方案1】:

    RFC 2616 requires an absolute URI in the Location,但该标准自 2014 年 6 月以来已被替换。相关规范现在是 RFC 7231。新标准的relevant section 表示:

    位置 = URI 参考

    字段值由单个 URI 引用组成。当它有 相对引用的形式([RFC3986],第 4.2 节),最终 值是通过根据有效请求 URI 解析来计算的 ([RFC3986],第 5 节)。

    因此现在允许使用相对 URI。在大多数情况下,effective request URI 与请求 URI 相同。

    【讨论】:

      【解决方案2】:

      相对 URL 有效。

      RFC 2616 中有一个错误。请参阅http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p2-semantics-17.html#rfc.section.9.5

      【讨论】:

      • 请在规范中注明添加 URI 片段标识符不符合/不同于 [RFC3986] 绝对/相对 URI 解析规则。
      • @hakre 请详细说明工作组的邮件列表
      • 作为编辑,我只是​​想确保你知道这件事,所以谢谢你让我知道。 QFT "@hakre 请详细说明工作组的邮件列表 – Julian Reschke 2012 年 12 月 17 日 7:12"
      • hakre:规范说要根据 RFC 3986 进行解析;您确实需要正确解释您认为问题所在。并且一定要在预期对规范进行反馈的地方进行。一遍又一遍。
      • 你在说什么?这个问题不是在谈论 RFC(也就是事实上的标准),而这个答案是在谈论草案(即正在进行的工作)吗?
      猜你喜欢
      • 2018-02-16
      • 1970-01-01
      • 2017-05-08
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多