uri中为何本地文件file后面跟三个斜杠, http等协议跟两个斜杠?

https://www.zhihu.com/question/37063799/answer/70242462网络

————————————————————————————————————————————spa

那就要从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]。code

其实最开始的那个 / 也是能够不要的呢,就看你是否是表示的是绝对地址了,通常来讲都是用的绝对地址。orm

Reference:
[1] Uniform Resource Identifier
[2]
做者:钟宇腾 连接:https://www.zhihu.com/question/37063799/answer/70242462 来源:知乎 著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。
相关文章
相关标签/搜索