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

本文来自知乎,原文传送门

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

Reference:

  1. https://en.wikipedia.org/wiki/Uniform_Resource_Identifier

  2. http://www.w3.org/TR/curie/

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值