Summary

  • RFC 2606 вышел в июне 1999 года как Best Current Practice. Он отвёл разные роли .test, .example, .invalid, .localhost и записал, что IANA зарезервировала example.com, example.net, example.org.
  • Имя, придуманное для закрытой лаборатории, позднее может появиться в глобальном DNS; образец из руководства может попасть в работающий код. Резервирование дало таким строкам предсказуемое место.

В техническом руководстве есть невинная на вид команда: «например». После неё идёт адрес, придуманный за минуту. Читатель копирует пример в настройку. Другой читатель берёт готовый файл. Объяснение о вымышленном сайте остаётся на странице, а имя вместе с программой уезжает дальше. DNS не читает авторские ремарки и не различает шутливую вывеску и адрес, который машина получила на вход.

В RFC 2606, опубликованном в июне 1999 года, D. Eastlake и A. Panitz рассматривали этот путь как задачу координации. Документ получил статус BCP 32. Он приводил ситуацию с организацией, которая выбирает свободный на вид домен верхнего уровня для своих локальных испытаний DNS. Позднее тот же ярлык может появиться в глобальной системе. Пользователи лаборатории продолжат видеть её собственную зону вместо реальной. Возможен и обратный маршрут: испытательный код покидает стенд и посылает запросы к имени, которое разработчик считал исключительно учебным.

Авторы предложили четыре зарезервированных имени верхнего уровня. .test предназначался для проверки кода, связанного с DNS. .example — для примеров и документации. .invalid давал заведомо неверное имя, причём это видно уже по написанию. .localhost сохранял привычный локальный смысл, связанный в реализациях хостов с адресом обратной петли. У этих имён разные обязанности. Шкаф с четырьмя подписанными ящиками удобнее коробки, на которой просто написано «всё необычное».

RFC отдельно перечислил три имени второго уровня, оставленные IANA для примеров: example.com, example.net, example.org. В руководстве по веб-форме или URL часто нужен адрес привычного вида под .com либо .org. Эти имена позволяли написать правдоподобный пример без случайного выбора чужого домена. У реквизитного магазина появилась официальная вывеска, хотя покупателей у него и не планировалось.

Здесь две разные границы. В shop.example зарезервирован сам последний компонент — .example. В example.com обычная зона .com остаётся общей, а закреплено конкретное имя на ступень ниже. Первая конструкция подходит для целого пространства учебных адресов. Вторая показывает форму привычного публичного домена. RFC держал обе потому, что учебник и тестовый стенд предъявляют к образцам разные требования.

Раздел о безопасности объясняет, зачем потребовалась такая канцелярия. Экспериментальное ПО может выйти в действующий DNS. Адрес из текста «только для примера» может быть запрограммирован и выпущен. Спонтанно выбранное имя со временем может обрести реального владельца и вызвать спор о его использовании. Авторы перечисляли возможные механизмы столкновения, а не отчёт о числе произошедших инцидентов. Их ответ был прост: выбрать немного имён, назвать цели и убрать эти имена из обычной выдачи. Даже бутафории понадобилась запись в реестре.

IANA и сегодня объясняет, что домены для примеров можно использовать в документах без предварительного согласования; зарегистрировать или передать их нельзя. На соответствующих хостах она показывает информационную страницу, но просит разработчиков не делать работу приложений зависимой от этого HTTP-сервиса. Устойчивое имя для примера и действующий веб-сервис по этому имени выполняют разные задачи.