RFC: 3404
Оригинал: Dynamic Delegation Discovery System - Part Four: The Uniform Resource Identifiers (URI) Resolution Application
Предыдущие версии: RFC 2168, RFC 2915
Категория: Предложенный стандарт
Дата публикации:
Автор:
Перевод: Николай Малых

RFC 3404, Страница 9 из 12

5.3. Преобразование для схемы HTTP URI

Даже при широком развертывании систем URN сохранится значительное число URI, связанных с хостами. Следует обеспечить возможность разработки систем преобразования URI, способных независимо определять местоположение для таких URI.

Предположим, что имеется URI для весьма популярной программы, которую желательно опубликовать на многочисленных зеркалах по всему миру:

http://www.example.com/software/latest-beta.exe

Мы выделяем префикс "http" и ищем записи NAPTR для 'http.uri.arpa.'. Результат может иметь вид:

http.uri.arpa. IN NAPTR
;;  order   pref flags service      regexp             replacement
     100     90   ""      ""   "!^http://([^/:]+)!1!i"       .

Это выражение возвращает все символы, расположенные между двойной дробной чертой (//) и следующей дробной чертой или двоеточием. Для разграничения компонент выражения для замены используется восклицательный знак '!', поскольку в противном случае пришлось бы использовать escape-символы \ перед символами / и регулярное выражение для зоны имело бы вид:

"/^http:\\/\\/([^\\/:]+)/\\1/i"

Применим шаблон к URI для извлечения www.example.com и найдем для этого имени записи NAPTR:

www.example.com.
;;       order pref flags   service  regexp     replacement
 IN NAPTR 100  100  "s"   "thttp+L2R"   ""    thttp.example.com.
 IN NAPTR 100  100  "s"   "ftp+L2R"    ""     ftp.example.com.

Найдем записи SRV для thttp.example.com, которые будут содержать информацию о хостах, которые домен example.com указал в качестве зеркал. Клиентская программа может указать пользователю один из таких хостов.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.