---恢复内容开始---
### 参考https://zh.wikipedia.org/wiki/统一资源标志符
http://www.jianshu.com/p/33bc363290e9
https://danielmiessler.com/study/url-uri/#gs.K9LKEHw
http://blog.gejiawen.com/2015/09/14/different-between-url-and-uri/
OverView
URI(Uniform Resource Identifier) 是一个用于标识一个互联网资源名称的字符串。URI的最常见形式就是URL(统一资源定位符)。
URI和URL和URN
首先看一下三者的名称
- URI(统一资源标识符 Uniform Resource Identifier)
- URL(统一资源定位符 Uniform Resource Locator)
- URN (统一资源名称 Uniform Resource Name)
URI,URL,URN是一组概念,用于描述了互联网的资源。
- URI是一种更高层次的抽象的概念,定义了如何去描述一个资源。
- URL URL是URI的一种,他是一个具体的URI,URL可以唯一的标识个资源,而且可以确定资源的位置。
- URN 这个用的就比较稀少了,有一个常见的例子 我有两本图书都叫《从入门到精通》但是两个图书的ISBN码是不一样的,ISBN码就像一个图书的唯一的名字,我们通过图书的ISBN码就知道他是哪个图书,他是一个图书的唯一的名字。但是我们是无法通过URN找到该图书在哪里。
从生活的例子上理解
拿一个比较牵强的例子来说吧--【身份证】,从某种意义上,一个身份证唯一的标识出来了一个人,身份证这个唯一的概念就可以看做一个URI。我们身份证中,我的住址就可以看做是一个(URL),因为可以通过,身份证上的地址来准确的找到我(但是并不知道我们的名字);我们身份证中的身份证号,可看做是一个(URN),因为身份证号算是一个的唯一的名字(通过这个名字是不能知道我的位置的)。
从编程的角度理解
URI 更像是一个接口(Interface),是一个概念,定义了如何去标识一个资源,而URL和URN就是URI的实现类,定义了标识一个资源的具体的方式。
总结
- URL 一定是URI,单URI不一定是URL
- 像 https://www.baidu.com/ 百度的网址,虽然是一个URL但是同时他也是一个URI,用URI来称呼URL更为规范一些(自我认为)
---恢复内容结束---