url和uri的区别

相信很多人对于url和uri这两个http领域里的专业词汇感到困惑,他们之间有什么区别呢?我们平时说的最多的是url,但总有一些书籍或文章提及uri,本篇文章尝试为你梳理两者之间的关系。

我们先上结论:url是uri的子集,uri是url的超集

1. 专业名词解释

url,uri,还有后文会提到的urn,他们都是缩写

1.1 uri

uri 是 Uniform Resource Identifier 的缩写,是统一资源标示符,可以唯一标识一个资源

1.2 url

url 是 Uniform Resource Locater的缩写, 统一资源定位符,可以提供找到该资源的路径。

1.3 urn

urn 是 Uniform Resource Name的缩写,是统一资源名称,指的是资源而不指定其位置或是否存在。

1.4 联系与区别

尽管有了上面的解释,相信你对他们的理解依然很抽象,我用一个现实生活中的例子,来解释他们之间的关系。

我们日常生活中,填写关键材料时,都被要求填写身份证,每个人的身份证号都是全国唯一的,你的身份证号就是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指的是资源。

下面这张图可以很好的阐释这三者之间的关系
uri, url, urn之间的关系

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案