相信很多人对于url和uri这两个http领域里的专业词汇感到困惑,他们之间有什么区别呢?我们平时说的最多的是url,但总有一些书籍或文章提及uri,本篇文章尝试为你梳理两者之间的关系。
我们先上结论:url是uri的子集,uri是url的超集
url,uri,还有后文会提到的urn,他们都是缩写
uri 是 Uniform Resource Identifier 的缩写,是统一资源标示符,可以唯一标识一个资源
url 是 Uniform Resource Locater的缩写, 统一资源定位符,可以提供找到该资源的路径。
urn 是 Uniform Resource Name的缩写,是统一资源名称,指的是资源而不指定其位置或是否存在。
尽管有了上面的解释,相信你对他们的理解依然很抽象,我用一个现实生活中的例子,来解释他们之间的关系。
我们日常生活中,填写关键材料时,都被要求填写身份证,每个人的身份证号都是全国唯一的,你的身份证号就是uri,它是你的唯一标识,uri强调的是Identifier, 标识。
假设你的居住地址是: 北京市/朝阳区/东方花园小区/8号楼/3单元/502室 ,这个地址就是url,通过这个地址,就可以找到你,url强调的是Locater, 强调定位。本篇文章的url地址是
http://www.coolpython.net/http_protocol/common/difference_between_url_and_uri.html
url的最前面指明了协议,随后是域名,然后是path,通过这个url,你就知道如何获得这份资源,它不仅指明了路径,还指明了获取资源的方式,协议可以是http, 也可以是https, 还可以是ftp。
假设你的名字叫张三, 不考虑重名的情况下,你的名字就是urn,是统一资源名称,urn指的是资源。
下面这张图可以很好的阐释这三者之间的关系
QQ交流群: 211426309