返回

深入浅出,剖析 URL、URI 和 URN 的区别

前端

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 用于标识互联网上的资源,但不指定如何访问资源。