我正在寻找找到或构建一个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。
我已经搜索了“URN解析器”,但是那里没有太多。然后我想到了-因为DNS就是要以可扩展和分布式的方式快速解析地址,并且由于它已被用于其他应用程序(see here)-也许它可以用于执行基本URL查找部分。
这是以前做过的吗,并且它是仅使用常规数据库的一种实用替代方法吗?
最佳答案
要在DNS中执行此操作,您需要将NAPTR
记录用作动态委托(delegate)发现系统应用程序的一部分,如RFC 3401,RFC 3402和RFC 3403中所定义。
特别是对于URN解析,另请参阅RFC 3404和RFC 3405,它们在前三个基础上构建,以提供将URN映射到其他内容的标准方法。
理想情况下,如果这是全局通用的URN,则可以在fooid
域空间内请求urn.arpa.
的委派。
看一看IANA's website,以查看现有的已注册URN namespace 。
关于dns - 使用DNS作为URN解析器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5476121/