https://www.zhihu.com/question/37063799/answer/70242462
————————————————————————————————————————————
那就要从URI[1]的结构来看了 scheme:[//[user:password@]host[:port]][/]path[?query][#fragment] 可以看到,如果有host的时候,前面是要加 // 的,因此对于 http 等这些网络地址来讲 http://www.baidu.sb:80/ad/cash 写成这样很自然。 那么如果是文件呢?文件因为没有 host 啊,所以中间的部分就不要了,那么就变成了 file:///ad/cash 对于文件来讲,似乎 // 不要也是没有任何关系的呢 其实根据上面的定义来讲,下面的才是正确的。因为如果没有 host 的话,第一个 [] 的内容就不应该存在了啊。 file:/ad/cash这种统一的写法也有个标准,叫CURIE[2]。
其实最开始的那个 / 也是可以不要的呢,就看你是不是表示的是绝对地址了,一般来说都是用的绝对地址。
Reference: [1] Uniform Resource Identifier [2] http://www.w3.org/TR/curie/ 作者:钟宇腾 链接:https://www.zhihu.com/question/37063799/answer/70242462 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。转载于:https://www.cnblogs.com/cuizhf/p/7566656.html