统一资源名称

统一资源名称(,縮寫:URN)是统一资源标识(URI)的历史名字,它使用作为URI scheme。

1997年的RFC 2141定义了URN,期望为资源提供持久的、位置无关的标识方式,并允许简单地将多个命名空间映射到单个URN命名空间。这样一个URI的存在并不意味着被标识的资源一定是可用的,但它仍然需要保持全局唯一和持久,即使资源已经不存在了或变得不可用。

自从2005年RFC 3986发布,这一术语的使用已被限制更少的“URI”取代。这是W3C和IETF联合组成的工作组所提议的。URN和URL都已经是URI的一种,而且特定情况下URI可能同时拥有名字(URN)和位置(URL)。

在1990年,URN作为一个元数据框架,原本被期望和URL、URC()一起组成一个第三方互联网信息架构。然而URC一直停留在理论阶段,随之更晚出现的其他技术(例如资源描述框架)取代了它们。

语法
URN的语法用巴科斯范式来写是:
:

解析出来是:

:

开头的序列大小写不敏感的。是命名空间标识,它是一个“命名空间特定”的字符串,决定了如何解释的句法。统一资源名称的功能需求在RFC 1737中描述。

命名空间
为了确保URN命名空间的全局唯一性,URN的标识(NID)必须在IANA注册。已注册命名空间可能是“正式”或“非正式”的。此中有一个例外——“试验性命名空间”无需注册。

正式命名空间
正式命名空间是互联网用户预期能通过公开而的一类命名空间,因此会受到许多限制。它必须:

  • 不能和已经注册的NID重复
  • 不能由(见下“试验命名空间”)开头
  • 不能由开头
  • 不能有任何形式的开头,其中XY任意两个ASCII字母的组合
  • 比两个字母更长

非正式命名空间
非正式命名空间通过IANA注册并分配一个数字序号(由IANA以先到先得的原则选出)作为标识,格式是
:

非正式命名空间是完全合法的URN命名空间,可以在任何全局注册服务中使用。

试验性命名空间
试验性命名空间取如下格式
:

这种形式的命名空间预期只在内部或受限的试验环境中使用,不需要也不保证全局唯一。

例子
解析器
URN解析器负责初始化和排序查询,最终导向到URN名字或“解析请求”的一个完整的解析(翻译)结果。例如,一个“解析请求”可能是“将一个URN名字翻译成URL”。

RFC 2169中有一个服务器端URN解析器的实现范例。

DOI命名空间的缺席
数字对象唯一标识符}-(DOI)系统的维护者有意不为DOI命名空间注册URN,并陈述道:

更多
*统一资源标志符(URI)
*统一资源定位符(URL)

  • (ARK)

*.arpa —urn.arpa is for dynamic discovery
*Extensible resource identifier(XRI)
*
*(LSID)
*Magnet URI scheme, which uses URNs
*(PURL)

引用条目
参考文献
*
*
*
*
*
*

外部链接

评论 (0)

  • 还没有评论,来抢沙发吧。