适当的URN命名空间现在是X.
就在最近的2002年,IETF在RFC 3406中建议我们应该使用x-
前缀来表示我们不想注册的URN命名空间,例如urn:x-acme:foobar
。 现在IETF已经不推荐使用RFC 6648中的x-
前缀,我们应该如何为我们不打算注册的名称空间构建URN?
另外,我注意到RFC 6648特别提到了URNs:“在几乎所有使用协议参数(包括... URNs ...)的应用程序协议中,名称空间不受任何限制或限制,所以在那里没有必要为私人用途或实验目的分配一个名称块。“ 我发现这是一个奇怪的事情,正如RFC 3406所声称的:“URN命名空间的空间是被管理的,即并非所有的语法正确的URN命名空间(根据URN语法定义)都是有效的URN命名空间。”
那么最好使用自定义但未注册的URN命名空间? 我可以放弃x-
并为我的示例公司Acme使用URN,例如urn:acme:foobar
?
RFC 6648说:
不覆盖现有的规范,立法使用“X-”用于特定的应用协议[...]; 这是这些协议的设计者的问题。
因此使用RFC 3406定义的实验性NID仍然很好。
而且,RFC 6648推荐用于新协议(以及我假设的现有协议的更新)基本上是URN目前的情况(减去实验X-
前缀):
因此,如果实验性的X-
NID在更新的RFC中被弃用,我不会期望有一种替代方案来注册NID。
如果你不想注册NID(甚至不是非正式的NID),你可能想要使用不同的URI方案。 tag
浮现在脑海( tag:example.com,2013:foobar
)。