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

Posted 石头hah

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uri中为什么本地文件file后面跟三个斜杠, http等协议跟两个斜杠?相关的知识,希望对你有一定的参考价值。

那就要从URI[1]的结构来看了
scheme:[//[user:[email protected]]host[:port]][/]path[?query][#fragment]
可以看到,如果有host的时候,前面是要加 // 的,因此对于 http 等这些网络地址来讲
http://www.baidu.sb:80/ad/cash
写成这样很自然。
那么如果是文件呢?文件因为没有 host 啊,所以中间的部分就不要了,那么就变成了
file:///ad/cash
对于文件来讲,似乎 // 不要也是没有任何关系的呢
其实根据上面的定义来讲,下面的才是正确的。因为如果没有 host 的话,第一个 [] 的内容就不应该存在了啊。
file:/ad/cash
这种统一的写法也有个标准,叫CURIE[2]。

其实最开始的那个 / 也是可以不要的呢,就看你是不是表示的是绝对地址了,一般来说都是用的绝对地址。


作者:钟宇腾
链接:https://www.zhihu.com/question/37063799/answer/70242462
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以上是关于uri中为什么本地文件file后面跟三个斜杠, http等协议跟两个斜杠?的主要内容,如果未能解决你的问题,请参考以下文章

文件:URI 和斜杠

URL与URI

如何使用文件URI从运行springboot的docker镜像访问本地文件?

URI 和双斜杠

c语言中studio是啥用途,以及其他跟在include后面的一些函数的作用

linux sed 如何替换字符串中的反斜杠\