2011-03-29 84 views
5

我正在寻找或建立URN(Universal Resource Name)解析器,该解析器将为给定的URN返回0个或更多个URI。例如:urn:fooid:6e8bc430-9c3a-11d9-9669-0800200c9a66:foo可能会解析为http://www.example.com/fooservice/6e8bc430-9c3a-11d9-9669-0800200c9a66/foo。该服务将知道fooid风格的URN,并知道如何从GUID查找基本URL(http://www.example.com/fooservice/),并将冒号转换为斜杠以构成完整的URI。使用DNS作为URN解析器

我已经搜索“URN解析器”,但没有那么多。然后,我想到了 - 因为DNS是以可扩展和分布式的方式快速解析地址,并且因为它已被用于其他应用程序(see here) - 可能它可能用于执行基本URL查找部分。

这是否已经做过,而且它会是一个实用的替代方案,只是使用传统的数据库?

回答

5

为此在DNS您可能需要使用NAPTR记录为动态委托发现系统应用程序的一部分,如RFC 3401RFC 3402RFC 3403定义。

对于URN分辨率,还请参阅RFC 3404RFC 3405,它们构建在前三者的基础上,提供了将URN映射到其他事物的标准方法。

理想情况下,如果这是一个全球通用的URN,您可以在urn.arpa.域空间请求代理fooid

查看IANA's website以查看现有已注册的URN命名空间。