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 來源:知乎 著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。
相關文章
相關標籤/搜索