URI(Uniform Resource Identifier),URL(Uniform Resource Locator)和URN(Uniform Resource Name)是用于标识和定位网络资源的术语.
URI是一个更通用的概念,它包括URL和URN ,即URL和URN都是URI的子集。URL用于定位资源和访问资源的机制,提供了完整的资源位置信息。而URN用于给资源分配一个唯一的名称,不关注资源的位置和访问方式。
URI
URI(Uniform Resource Identifier)统一资源标识符
- 定义:URI是一个用于标识和定位资源的字符串序列,它可以标识任何类型的资源,包括但不限于网络资源。
URL
URL(Uniform Resource Locator)统一资源定位符、
- 定义:URL是URI的一种具体实现,它表示了资源的位置以及访问资源的机制。
- 作用:URL用于定位和获取资源,包含了资源的网络位置信息,以及访问该资源所需
的协议、主机名、端口号和路径等详细信息。
- 示例:http://www.test.com/index.html
URN
URN(Uniform Resource Name)统一资源命名符
- 定义:URN是URI的另一种具体实现,它用于给资源分配一个唯一的名称,不依赖于资源的位置和访问方式。URN的目的是为了在网络上唯一标识资源,即使资源被移动到其他位置,URN仍然有效。
- 特点:URN通常以某种命名空间为前缀,以确保全球唯一性。例如,ISBN号(用于标
识图书的国际标准书号)就是一种URN。
- 示例:urn:isbn:0451450523
举例、总结
举个例子:
- "http://www.text.com/index.html"是一个URL,它指定了资源的位置和访问方式。
- "urn:isbn:0451450523"是一个URN,它给资源(图书)分配了一个唯一的名称,不涉及资源的位置和访问方式。
总结:
URI是通用的资源标识符概念,是用于唯一标识和定位资源的抽象概念。包括URL和URN两种具体实现。
URL是URI的一种具体实现,用于定位资源和访问资源的机制,提供了定位资源和访问资源的完整信息。
URN用于给资源分配一个唯一的名称,不依赖于资源的位置。
ps:
URN理论上较为完美,即使资源被移动到其他位置,URN任然有用,这使得其在长期稳定资源标识的情况下非常有用,比如用于标识图书的ISBN号。但是URN需要解析器根据字符串,解析出资源最新的位置信息,实施较为困难,所以没有URL使用的普遍。
类比一下 URN就像我们随声携带着一个定位系统,不管走到哪里,都能实时获取我们最新信息,而URL就像手机软件上的收货地址一样。(个人理解,可能不太恰当)