根据维基百科,



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

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



那么现在怎么办?

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

我的直觉说 x- 前缀没有任何好处,因为两个开发人员可以很容易地开始使用 urn:x-foo 并且如果他们刚刚选择 urn:foo 不会有任何不同,除了可能很明显它不是未在 IANA 正式注册。

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

最佳答案

As far as I knowRFC 6648 不会使 experimental NIDs (as defined by RFC 3406) 无效。

draft for the next RFC about URNs(当前)按照 RFC 6648 的建议删除了实验性 NID(使使用 x- 的 URN 无效)。



嗯,RFC 3406 defines



他们是



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

所以 …

  • 如果您只想将 URN 用于私有(private)目的,您仍然可以使用 X- NID(遵循 RFC 3406),直到它被新的 RFC 淘汰。或者,您可以从 example NID 中类型转换 URN。
  • 如果你想公开/认真地使用 URN,你希望它们是唯一的(避免冲突)和定义的(使它们对其他作者和消费者有用)。这就是 URN 的全部意义,对吧?为此,您必须注册您的 NID。
  • 如果您不想注册,请不要使用 URN。还有许多其他 URI schemes 可用(例如,Tag URIs 浮现在脑海中)。
  • 关于uri - 你能举一个私有(private)使用的 URN 的例子吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30328608/

    10-09 04:12