像
这样的无方案网址//blog.flowl.info/
在HTTP(rfc?)中有效,例如在普通HTTP 请求和响应中,还是仅在HTML属性和内容中有效?
HTTP/1.1 302 - Moved
Location: //blog.flowl.info
GET //blog.flowl.info
更新
我现在有两个矛盾的答案。哪个是对的?
Sidequestion: 为什么浏览器甚至会解决这些问题:
//blog.flowl.info/
->
http://blog.flowl.info/
而不是:
//blog.flowl.info/
->
http://blog.flowl.info///blog.flowl.info/
答案 0 :(得分:7)
它们在位置标题字段(http://greenbytes.de/tech/webdav/rfc7231.html#header.location)中有效。
它们在HTTP请求的请求行中无效。
浏览器以这种方式解析它,因为这是相对参考分辨率的工作方式(http://greenbytes.de/tech/webdav/rfc3986.html#reference-resolution)。
答案 1 :(得分:-1)
据我所知,协议/方案是URL的必需部分,并由服务器和中间代理/网关等用于推断如何在普通TCP / IP之上处理通信。如果您不使用http / https,而是使用其他一些众所周知的甚至是自定义协议,则必须指定它。
创建浏览器是为了浏览通过HTTP协议提供的html页面。因此,如果您不指定scheme,它会自动将其默认为http。还有一个绝对v / s相对URL的概念,您需要了解如何通过浏览器解析后续URL。