深入浅出,剖析 URL、URI 和 URN 的区别
2023-09-06 07:27:25
URL:Uniform Resource Locator(统一资源定位符)
URL 是我们最常见到的资源标识符,它用于指定互联网上资源的具体位置。URL 由协议、主机名、端口号和路径组成。
协议 指定如何访问资源,常见的协议有 HTTP、HTTPS、FTP 等。
主机名 指定资源所在的主机,可以是域名或 IP 地址。
端口号 指定资源所在的主机上的端口,默认情况下,HTTP 协议使用 80 端口,HTTPS 协议使用 443 端口。
路径 指定资源在主机上的具体位置,由一串斜杠分隔的目录和文件名组成。
例如,以下 URL 指向百度首页:
https://www.baidu.com/
URI:Uniform Resource Identifier(统一资源标识符)
URI 是一个更宽泛的概念,它不仅可以标识互联网上的资源,还可以标识其他类型的资源,如文件、数据库记录等。URI 由方案、主机名、端口号和路径组成。
方案 指定如何访问资源,常见的方案有 http、https、ftp、file 等。
主机名 指定资源所在的主机,可以是域名或 IP 地址。
端口号 指定资源所在的主机上的端口,默认情况下,HTTP 协议使用 80 端口,HTTPS 协议使用 443 端口。
路径 指定资源在主机上的具体位置,由一串斜杠分隔的目录和文件名组成。
例如,以下 URI 指向百度首页:
http://www.baidu.com/
URN:Uniform Resource Name(统一资源名称)
URN 是一个相对较新的概念,它用于标识互联网上的资源,但与 URL 和 URI 不同,URN 不指定如何访问资源,只提供资源的名称。URN 由命名空间和名称组成。
命名空间 指定资源的类型,例如,urn:isbn:
表示这是一个 ISBN 号码。
名称 指定资源的具体名称,例如,urn:isbn:0-321-35668-1
表示这是一个 ISBN 号码为 0-321-35668-1 的图书。
例如,以下 URN 指向一本名为《计算机科学导论》的图书:
urn:isbn:0-321-35668-1
URL、URI 和 URN 的区别
URL、URI 和 URN 都是资源标识符,但它们之间存在着微妙的差别。下表总结了它们的异同:
特征 | URL | URI | URN |
---|---|---|---|
定义 | 用于指定互联网上资源的具体位置 | 用于标识互联网上或其他类型的资源 | 用于标识互联网上的资源,但不指定如何访问资源 |
组成 | 协议、主机名、端口号、路径 | 方案、主机名、端口号、路径 | 命名空间、名称 |
用途 | 指向网页、文件、图片等具体资源 | 指向网页、文件、数据库记录等各种类型的资源 | 指向图书、期刊、文章等资源的名称 |
示例 | http://www.baidu.com/ | http://www.baidu.com/ | urn:isbn:0-321-35668-1 |
总结
URL、URI 和 URN 都是互联网上资源的标识符,但它们之间存在着微妙的差别。URL 用于指定互联网上资源的具体位置,URI 用于标识互联网上或其他类型的资源,URN 用于标识互联网上的资源,但不指定如何访问资源。