HTTP Location 标头中的完全限定 url。为啥它很重要?

Posted

技术标签:

【中文标题】HTTP Location 标头中的完全限定 url。为啥它很重要?【英文标题】:Fully-qualified urls in HTTP Location header. Why it is important?HTTP Location 标头中的完全限定 url。为什么它很重要? 【发布时间】:2016-09-21 14:51:03 【问题描述】:

所以我从 Fiddler 收到了一些警告,说我在 HTTP Location 标头中有错误的 url,它们应该是完全合格的。为什么它如此重要以及可能导致哪些问题?

【问题讨论】:

位置标头的正式定义只是将有效负载定义为绝对 URL。所以使用相对的东西违反了协议定义:w3.org/Protocols/rfc2616/rfc2616-sec14.html 这并不意味着相对目标必须中断,但您绝对不能保证客户端会按照您期望的方式做出反应。 @arkascha 您指的是过时的规范 【参考方案1】:

HTTP/1.1 (RFC 2616 § 14.30) 的旧标准要求 Location 是绝对 URI。

实施经验表明这并不重要,并且许多实施允许在Location 中使用相对 URI,因此当前标准 (RFC 7231 § 7.1.2) 允许使用相对 URI。

【讨论】:

以上是关于HTTP Location 标头中的完全限定 url。为啥它很重要?的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS $http ajax 不遵循 Location 标头

HTTP Redirect 提供与 Location 标头相同的 url(原始)

nginx location

扭曲的位置标头重定向

如何使用 Location 标头?

获取 api 不返回 Location 标头