2011-03-29 61 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命名空間。