Schemeless URL 在 HTTP 中有效吗?

Schemeless URL valid in HTTP?

这样的无方案网址
//blog.flowl.info/

在 HTTP (rfc?) 中有效,就像在普通 HTTP RequestsResponses 中一样,或者它们仅在 [=33] 中有效=] 属性和内容 ?

HTTP/1.1 302 - Moved
Location: //blog.flowl.info

GET //blog.flowl.info

更新:

我现在有两个矛盾的答案。哪个是正确的?

附带问题: 为什么浏览器甚至将它们解析为:

//blog.flowl.info/ 
->
http://blog.flowl.info/

而不是:

//blog.flowl.info/
->
http://blog.flowl.info///blog.flowl.info/

它们在位置 header 字段 (http://greenbytes.de/tech/webdav/rfc7231.html#header.location) 中有效。

它们在 HTTP 请求的请求行中无效。

浏览器以这种方式解析它,因为这是相对引用解析的工作方式 (http://greenbytes.de/tech/webdav/rfc3986.html#reference-resolution)。

据我所知,protocol/scheme 是 URL 的强制性部分,服务器和中间 proxies/gateways 等使用它来推断如何在普通 TCP/IP。如果您不使用 http/https 而是使用其他一些众所周知的甚至是自定义协议,则必须指定它。

浏览器是为浏览通过 HTTP 协议提供的 html 页面而创建的。因此,如果您不指定方案,它会自动将其默认为 http。还有绝对 v/s 相对 URL 的概念,您需要查看浏览器如何解析后续 URL。