https://www.zhihu.com/question/37063799/answer/70242462
————————————————————————————————————————————
那就要从URI[1]的结构来看了
可以看到,如果有host的时候,前面是要加 // 的,因此对于 http 等这些网络地址来讲
写成这样很自然。
那么如果是文件呢?文件因为没有 host 啊,所以中间的部分就不要了,那么就变成了
对于文件来讲,似乎 // 不要也是没有任何关系的呢
其实根据上面的定义来讲,下面的才是正确的。因为如果没有 host 的话,第一个 [] 的内容就不应该存在了啊。
[1] Uniform Resource Identifier
[2] http://www.w3.org/TR/curie/
scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]
http://www.baidu.sb:80/ad/cash
那么如果是文件呢?文件因为没有 host 啊,所以中间的部分就不要了,那么就变成了
file:///ad/cash
其实根据上面的定义来讲,下面的才是正确的。因为如果没有 host 的话,第一个 [] 的内容就不应该存在了啊。
file:/ad/cash
这种统一的写法也有个标准,叫CURIE[2]。
其实最开始的那个 / 也是可以不要的呢,就看你是不是表示的是绝对地址了,一般来说都是用的绝对地址。
Reference:[1] Uniform Resource Identifier
[2] http://www.w3.org/TR/curie/
作者:钟宇腾
链接:https://www.zhihu.com/question/37063799/answer/70242462
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
——————————————————————————————————
傲轩游戏网
傲轩游戏网
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2016-09-21 Substance 6 设置 watermark(水印)
2012-09-21 JPA的一个blog
2012-09-21 http://vivin.net/2010/01/30/generic-n-ary-tree-in-java/
2011-09-21 JTextPane/DefaultStyledDocument的序列化的相关问题
2011-09-21 JTextPane自动滚动到末尾
2011-09-21 征途2淮阳寻宝源代码(无说明,自己备用:)
2011-09-21 JxtaBiDiPipe的RetryingOutputPipeConnect中的周期性任务耗费时间过长///Long Task Detector warning