在URL中的HTTP协议声明中使用正斜杠

4
我刚刚注意到,在HTML表单验证中,对于URL输入类型,在协议:protocol:之后的双斜杠'//'不是必需的。我尝试在许多浏览器中输入没有斜杠的URL,它们都可以工作,例如:http:www.web-dewd.com在Chrome、Firefox、Edge、Opera甚至IE11中都可以工作。
我找不到任何明确规定它们是否需要的定义。我在https://www.w3.org/standards/上花了好几分钟也没有找到。我能找到的最好的是一篇采访蒂姆·伯纳斯-李(Tim Berners-Lee)的文章,他说它们不是必需的:http://www.dailymail.co.uk/sciencetech/article-1220286/Sir-Tim-Berners-Lee-admits-forward-slashes-web-address-mistake.html

但是,由于冒号已经在那里了,结果人们从来没有使用过斜杠斜杠...

这篇来自ZDNet的文章说道:
“网上几乎没有关于双斜杠的参考。”
我认为推荐使用斜杠,但是否有人知道并能提供正确标准的证据呢?
有点讽刺的是,当输入链接时,Stackoverflow确实需要//,其他编辑器也会在将文本转换为链接时需要,例如Microsoft Outlook。
1个回答

4

来源

前缀:为了成为URI工作组目前定义的统一资源定位符,整个字符串必须以常量前缀"URL:"开头。

这部分说明有效的URL以协议:开头,并不涉及//的任何说明。

互联网协议部分:那些涉及互联网协议的方案通常对于对象名称的剩余部分都有一个公共的语法。它以双斜杠“//”开头来表示其存在,并一直持续到下一个斜杠“/”。


指示URL字符串必须以协议://开头只是通常用来指示域名开始的公共语法。

在替换URL时,通常会寻找http [s]://而不是http [s]:。 这只是惯例,并不意味着所有Web开发人员都会使用它。


不错的发现。是从这里来的吧?https://www.w3.org/Addressing/URL/url-spec.html 我谷歌了你的一句话。 - dewd
嗯……使用RFC 3986怎么样?你知道,这是当前的规范吗? - DaSourcerer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接