彻底弄清URI、URL、URN的关系
URI、URL与URN关系详解
URI(统一资源标识符)、URL(统一资源定位符)和URN(统一资源名称)是互联网资源标识的三个重要概念,它们之间存在包含和从属关系。
一、核心概念关系
URI(Uniform Resource Identifier):广义的资源标识符概念,是URL和URN的父集。
- 作用:唯一标识互联网或本地资源。
- 示例:邮箱地址example.com、图书编号20451450523等。
URL(Uniform Resource Locator):URI的子集,通过位置定位资源。
- 特点:包含访问协议和资源位置信息。
- 示例:
https://www.example.com/page.html。
URN(Uniform Resource Name):URI的子集,通过名称标识资源。
- 特点:不依赖资源位置,具有持久性。
- 示例:
urn:issn:1535-313
(期刊标识)。
二、三者区别对比
特性 | URI | URL | URN |
---|---|---|---|
标识方式 | 广义标识 | 位置定位 | 名称标识 |
持久性 | 取决于实现 | 位置变更即失效 | 持久唯一 |
示例 | 邮箱地址 | https://example.com | urn:isbn:0451450523 |
包含关系 | 包含URL和URN | URI的子集 | URI的子集 |
三、技术实现细节
URI组成结构:
text
http://user:pass@example.com:80/home/index.html?age=11#mask ├─ 协议方案名 ├─ 登录信息(可选) ├─ 服务器地址 ├─ 端口号(可选) ├─ 文件路径 ├─ 查询字符串(可选) └─ 片段标识符(可选)
URN特点:
- 解决URL依赖位置的问题。
- 即使资源位置变更,URN仍有效。
- 常用于标识书籍、期刊等持久资源。
URL局限性:
- 主机或路径变更会导致失效。
- 示例:
http://aaa.com/images/cat.jpg
若图片移动到bbb服务器则无法访问。
四、实际应用场景
URL典型应用:
- 网页地址(俗称网址)。
- 资源下载链接。
- API接口地址。
URN典型应用:
- 国际标准书号(ISBN)。
- 国际标准期刊号(ISSN)。
- 持久化数字标识。
URI通用应用:
- 任何需要唯一标识资源的场景。
- 既包含定位也包含命名的混合系统。
总结三者关系:URI是广义概念,包含URL(通过位置定位)和URN(通过名称标识)两种具体实现方式。所有URL都是URI,但并非所有URI都是URL;同样,所有URN都是URI,但URI不一定是URN。