本文来自知乎,原文传送门
那就要从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]
。
其实最开始的那个 /
也是可以不要的,就看你是不是表示的是绝对地址了,一般来说都是用的绝对地址。
公司内网文件服务器的地址一般是
file://host/path/file.ext