是否有使用域名的 URN 方案?

Posted

技术标签:

【中文标题】是否有使用域名的 URN 方案?【英文标题】:Is there a URN scheme for using domain names? 【发布时间】:2016-07-24 13:05:47 【问题描述】:

是否有任何可用的分层 URN 方案可以使用 URL 或域名作为“前缀”?

最好的毕业生

【问题讨论】:

URN 总是以 urn: 开头,并且不会分层。如果您可以更详细地解释您真正要求的内容以及原因可能会更好 - 您将如何使用这样的 URN 方案?当您说前缀时,您的意思不是开头的“urn:”吗?使用 URL 作为“前缀”会怎样? @barefootliam,为什么我不能有类似 urn:***.com:question:36411988 之类的东西来给这个问题一个 id,而没有说明如何到达它(***.com 域名用于确保唯一性) 【参考方案1】:

所有 URN 命名空间标识符 (NID) 都在此处注册:http://www.iana.org/assignments/urn-namespaces

由于为每个域名创建一个 URN NID 是不可行的,因此它可能是一个 NID,其域名位于命名空间特定字符串 (NSS) 中。例如,urn:example:com:***:…urn:example:org:wikipedia:…

这种方法的问题在于,域名所有权和/或可从相应 URL 访问的内容会随着时间而改变,但 URN 应该始终引用同一个实体。

似乎没有用于此目的的 URN NID。

您没有描述您的用例,但也许the tag URI scheme 可以提供帮助。它解决了更改域所有权和更改内容的问题,但只有域所有者(无论是以前的所有者还是当前所有者)可以创建新的tag URI。例如,Stack Overflow 可能会为您的问题生成以下标签 URI:

tag:***.com,2015:36411988

【讨论】:

【参考方案2】:

是的,有一个使用域名作为前缀的 URN 命名空间,从 2005 年开始!

是FDC URN Namespace,格式如下:

urn:fdc:<domain_name>:<date>:<id>

规范中给出的示例:

urn:fdc:example.com:2002:A572007
urn:fdc:example.net:200406:ivr:51089
urn:fdc:example.org:20010527:img089322-038

【讨论】:

有趣的是非常类似于tag:方案。

以上是关于是否有使用域名的 URN 方案?的主要内容,如果未能解决你的问题,请参考以下文章

Unicode 字符是不是存在已知的 URI 方案或 URN 命名空间?

URI 如何包含 URN 和 URL?

如何从 revit 插件或使用 Forge api 为 Revit 文件创建 URN

域名和IP访问

Python UUID - 使用命名空间处理 URN

所有的 URL 都是 URN 吗?