1.三者的定义
URI: Uniform Resource Identifier, 统一资源标识符。用来唯一标识资源,是一种语义上的抽象概念。
URL: Uniform Resource Locator, 统一资源定位符。用来定位唯一的资源, 必须提供足够的定位信息。
URN: Uniform Resource Name, 统一资源名称。定义了资源的身份(命名)。
简单比喻 - URI唯一标识一个人(例如身份证), URL定义了如何访问到这个人(例如家庭地址),URN用名字标识一个人(假设所有人名字都不一样的情况下)
2.URI和URL的区别
URI 是用来唯一标识资源, URL 提供资源的识别方法并用着各种方法定位资源。
由于互联网上每个文件都有唯一的URL, 所以URL是一种具体的URI, 可以说URL是URI的一种实现方式。
URI和URL都定义了是什么资源(唯一标识),但URL还定义了该如何访问或定位该资源。
3.URI, URL 和 URN 区别
首先要清楚: URL和URN都是URI的子集
URL: 是URI的一种,不仅标识了Web资源,还指定了操作或获取方式,同时包含访问机制和网络位置
URN: 是URI的一种,用特定命名空间的名字标识资源。包括名字(给定的命名空间),但不包含访问方式。
下面以一个网址为例,清晰的展示URI、URN、URL 三者的内容,可以更加直观的反应三者的关系:
URL :指定位置的 URI
URN :指定名称的 URI
URI :同时指定名称和位置的 URI