URI中的方案后面的双斜杠的语义是什么?

Hol*_*ger 6 authority uri url-scheme

根据http://tools.ietf.org/html/rfc3986http://en.wikipedia.org/wiki/Uniform_resource_identifier,URI可能包含也可能不包含方案标识符后面的双斜杠.这使得"urn:issn:1535-3613"成为有效的URI,就像"http://stackoverflow.com"一样.

是否有严格/正式的需要包含双斜杠或者它是可选的,无论如何,原因/语义是什么?在回答时,请提供确凿的答案 - 不要只报告浏览器/库/ ...如何处理它.

T.J*_*der 14

它在你链接的RFC中:如果有//,那就意味着接下来就是权威.见第3节.因此,如果该方案使用权限,它将使用//冒号后(要么需要它,如果该方案需要权限,或者如果权限在该方案中是可选的,则使用它).在URI意义上mailto不使用权限,因此mailtoURI不包含//.

  • 我真的没有看到`http:// foo @ example.org`和`mailto:foo @ example.org`中域名的区别.后者在哪里没有被定义为权威?我觉得它可能只是不一致. (2认同)

Jam*_*ald 5

除了彻底解释答案的RFC之外,我想你可能会直接从万维网发明者那里得到这个引用.

当[Sir Tim Berners-Lee]被问到他将采取哪些不同的做法时,答案很简单."我会在结肠后摆脱斜线斜线.你真的不需要它.当时这似乎是一个好主意."

资料来源:http://www.wired.co.uk/news/archive/2014-02/06/tim-berners-lee-reclaim-the-web

  • 请注意,目前双斜杠允许使用与方案相关的 URL,例如“//cdn.example.com”,即使这可能不是最初的意图。 (2认同)