6

我正在寻找或构建一个 URN(通用资源名称)解析器,它将为给定的 URN 返回 0 个或多个 URI。

例如:urn:fooid:6e8bc430-9c3a-11d9-9669-0800200c9a66:foo可能解析为http://www.example.com/fooservice/6e8bc430-9c3a-11d9-9669-0800200c9a66/foo. 该服务将知道fooid-style URN 并知道如何从 GUID 中查找基本 URL ( http://www.example.com/fooservice/ ) 并将冒号转换为斜杠以形成完整的 URI。

我已经搜索过“URN 解析器”,但没有多少。然后我突然想到——因为 DNS 就是以可扩展和分布式的方式快速解析地址,并且因为它已被用于其他应用程序(参见此处)——也许它可以用于进行基本 URL 查找部分。

以前是否已经这样做过,它是否是仅使用传统数据库的实用替代方案?

4

1 回答 1

7

要在 DNS 中执行此操作,您需要将NAPTR记录用作动态委托发现系统应用程序的一部分,如RFC 3401RFC 3402RFC 3403中所定义。

特别是对于 URN 解析,另请参阅RFC 3404RFC 3405,它建立在前三个之上,提供了一种将 URN 映射到其他内容的标准方法。

理想情况下,如果这是一个全局通用 URN,您将请求域空间fooid内的委派。urn.arpa.

查看IANA 的网站以查看现有的已注册 URN 命名空间。

于 2011-04-06T20:33:42.147 回答