URI与URL
URI
统一资源标识符(Uniform Resource Identifier),在电脑术语中是一个用于标识某一互联网资源名称的字符串。
通用URI的格式如下:
[协议名]://[用户名]:[密码]@[主机名]:[端口]/[路径]?[查询参数]#[片段ID]
URN
统一资源名称(Uniform Resource Name),是统一资源标识(URI)的历史名字,它使用"urn"作为URI的协议名。它的语法如下:
urn:<NID>:<NSS>
<NID>
:命名空间标识,命名空间(英语:Namespace),也称命名空间、名称空间等,它表示着一个标识符(identifier)的可见范围。一个标识符可在多个名字空间中定义,它在不同名字空间中的含义是互不相干的。<NSS>
:由<NID>
来决定如何解析<NSS>
。
1997年的RFC 2141定义了URN,期望为资源提供持久的、位置无关 的标识方式,并允许简单地将多个命名空间映射到单个URN命名空间。这样一个URI的存在并不意味着被标识的资源一定是可用的,但它仍然需要保持全局唯一和持久,即使资源已经不存在了或变得不可用。维基百科
URL
统一资源定位符(Uniform Resource Locator,或称统一资源定位器、定位地址、URL地址,俗称网页地址或简称网址)是因特网上标准的资源的地址。
统一资源定位符的标准格式如下:
[协议类型]://[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
统一资源定位符的完整格式如下:
[协议类型]://[访问资源需要的凭证信息]@[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
其中[访问凭证信息]、[端口号]、[查询]、[片段ID]都属于选填项。
区别与联系
URL和URN属于URI的子类,URI可被视为URL、URN或者两者兼备。URN是资源的名称,负责在全局范围内唯一确定一个资源;URL负责提供寻找该资源的方法。