我刚刚注意到,对于输入类型url的html表单验证,不需要在//
之后使用双正斜杠'protocol:
'。我试着在许多浏览器中输入url,但没有斜杠,它们都可以工作,例如http:www.web-dewd.com可以在chrome、firefox、edge、opera中工作,我敢说,甚至ie11也可以。
我找不到任何具体的定义来说明它们是否是必需的。我花了好几分钟在https://www.w3.org/standards/上,一点运气也没有。我能找到的最好的办法是采访蒂姆·伯纳斯·李,他说他们不需要:
但如果还有冒号,人们就不会用斜线…
zdnet中的http://www.dailymail.co.uk/sciencetech/article-1220286/Sir-Tim-Berners-Lee-admits-forward-slashes-web-address-mistake.html表示:
网上几乎没有提到双正斜杠
我认为应该建议使用斜线,但有人知道并能够提供证据证明什么是正确的标准吗?
具有讽刺意味的是,stackoverflow在输入链接时确实需要//
,其他编辑器在决定将文本转换为链接(如Microsoft Outlook)时也需要。
最佳答案
Source
preprefix:成为当前由uri定义的统一资源定位器
工作组,整个字符串必须以常量前缀开头
“URL:”
这部分说明有效的url以protocol:
开头,并且没有说明任何关于//
的内容。
因特网协议部分指因特网协议的那些方案大多有
对象名称其余部分的通用语法。首先是
双斜杠“/”表示其存在,并一直持续到
斜线“/”后。
指示url字符串必须以protocol:
开头,//
只是表示域名开始的常见语法。
替换url时,通常会查找http[s]://
而不是http[s]:
。这只是一种常见的做法,并不意味着所有的web开发人员都会使用它。