Использование DNS в качестве распознавателя URN - PullRequest
6 голосов
/ 29 марта 2011

Я ищу либо найти, либо создать распознаватель URN ( Universal Resource Name ), который бы возвращал 0 или более URI для данного URN.

Например: urn:fooid:6e8bc430-9c3a-11d9-9669-0800200c9a66:foo может разрешить до http://www.example.com/fooservice/6e8bc430-9c3a-11d9-9669-0800200c9a66/foo.Служба будет знать о URN в стиле fooid и знать, как искать базовый URL (http://www.example.com/fooservice/) из GUID) и преобразовывать двоеточия в косые черты, чтобы создать полный URI.

Я искал "распознаватели URN", но там не так много. Затем мне пришло в голову, что - поскольку DNS - это все для быстрого разрешения адресов в масштабируемом и распределенном виде, и так как он использовался для других приложений ( см. Здесь ) - возможно, его можно использовать для поиска по базовому URL-адресу.

Было ли это сделано раньше, и будет ли это практической альтернативой использованию обычной базы данных?

1 Ответ

6 голосов
/ 07 апреля 2011

Для этого в DNS вам потребуется использовать NAPTR записи как часть приложения системы обнаружения динамических делегаций, как определено в RFC 3401 , RFC 3402 и RFC 3403 .

В частности, для разрешения URN см. Также RFC 3404 и RFC 3405 , основанные на предыдущих трех, чтобы обеспечить стандартный способсопоставить URN с чем-то другим.

В идеале, если бы это была глобальная URN общего назначения, вы бы запросили делегирование fooid в доменном пространстве urn.arpa..

Посмотрите на Веб-сайт IANA для просмотра существующих зарегистрированных пространств имен URN.

...