你能举一个私人使用的 URN 的例子吗

Luk*_*ett 8 uri web-standards urn

根据维基百科,

urn:<NID>:<NSS>

前导 urn: 序列不区分大小写。<NID> 是命名空间标识符,它确定<NSS>命名空间特定字符串的语法解释。RFC 1737 中描述了统一资源名称的功能要求。[5]

来源: http: //en.wikipedia.org/wiki/Uniform_resource_name

然后它继续说实验 NID 是有前缀的,X-但接着又说:

RFC 6648 不赞成对新 ID 名称使用“X-”表示法,但不建议替换现有的“X-”名称,并且不会覆盖需要使用“X-”的现有规范。[7]

那么现在怎么办?

如果我想为私有系统中的某些标识符创建一个 URN,我该如何正确命名它们?

我的直觉告诉我,该x-前缀不会获得任何好处,因为两个开发人员可以轻松地开始使用urn:x-foo,并且与他们刚刚选择的情况没有任何不同urn:foo,除了可能很明显它不是官方的已向 IANA 注册。

因此,我们应该尝试创造一些独特的东西,并尽最大努力检查它是否真实。正确的?

uno*_*nor 8

据我所知RFC 6648没有制作实验性 NID(由 RFC 3406 定义)无效。

\n

下一个关于 URN 的 RFC 草案(当前)已根据 RFC 6648 的建议删除了实验性 NID(使 URN 使用x-无效)。

\n
\n
\n

我的直觉告诉我,该x-前缀不会获得任何好处,因为两个开发人员可以轻松地开始使用urn:x-foo,并且与他们刚刚选择的情况没有任何不同urn:foo,除了可能很明显它未在 IANA 正式注册。

\n
\n

嗯,RFC 3406定义了这一点

\n
\n

没有采取措施避免实验性 NID 的碰撞

\n
\n

他们是

\n
\n

旨在用于内部或有限的实验环境。

\n
\n

因此,首先,您不应该以其他方(不知道您对这些实验性 NID 的使用/定义的情况)遇到它们的方式使用实验性 NID。
\n或者换句话说:实验性 NID 的冲突应该是没有问题的,因为各方只能在内部或实验性地使用它们,并且不应期望能够使用不受其控制的实验性 NID 做任何有用的事情。

\n
\n

所以\xe2\x80\xa6

\n
    \n
  • 如果您只想将 URN 用于私人目的,您仍然可以使用X-NID(遵循 RFC 3406),直到它被新 RFC 废弃。或者,您可以从exampleNID铸造 URN铸造 URN 。

    \n
  • \n
  • 如果您想公开/认真地使用 URN,您希望它们是唯一的(避免冲突)和定义的(使它们对其他作者和消费者有用)。\xe2\x80\x99 就是 URN 的全部意义,对吗?为此,您必须注册您的 NID。

    \n
  • \n
  • 如果您不想注册,请不要使用 URN。还有许多其他可用的URI 方案(例如,我想到的标签 URI )。

    \n
  • \n
\n