Удивительно сложная история дефисов в доменных именах
Удивительная история дефисов в доменных именах
Когда-то я задумался: а сколько дефисов вообще можно запихнуть в домен? Казалось бы, простой вопрос. Но он затянул меня в кроличью нору на несколько дней изучения интернет-стандартов. И ответ оказался куда интереснее, чем можно было представить.
Быстрый ответ — но не всё так просто
Теоретически — до 59 дефисов подряд. На практике — зависит от того, какой RFC читать, какая TLD-зона и, видимо, от того, следил ли кто-то за правилами последние 25 лет.
Как всё начиналось
Вернёмся в 1978-й. Ранние стандарты Интернета называли дефис «минусом». RFC 608 разрешал буквы, цифры и минус в именах хостов. Было всего два ограничения: первый символ — буква, последний — НЕ дефис.
К 1981-му это оформили в RFC 810. Выглядело это как запись из древнего программирования: <name> ::= <let>[*[<let-or-digit-or-hyphen>]<let-or-digit>]. Если по-человечески: начинай с буквы, заканчивай буквой или цифрой, а внутри — что угодно.
В 1987-м появился RFC 1035 — его часто цитируют как «предпочтительный синтаксис». Правила те же: буквы, цифры, дефисы внутри. Точка.
Заметили? Нигде нет ограничения на количество дефисов.
Поворот с IDN
До 2010 года всё было спокойно. Потом пришли интернационализированные доменные имена — IDN. Они используют префикс xn-- для не-ASCII символов. И тут началось.
RFC 5891 ввёл новое правило: «Строка НЕ должна содержать '--' (два дефиса) в третьей и четвёртой позиции».
Почему? Потому что xn-- сам выглядит как -- в позициях 3-4. Нужно было избежать путаницы. Если домен начинается с xn — всё нормально. Если нет? Два дефиса в позициях 3-4 запрещены.
Отсюда и математика: стартуем с позиции 4, заканчиваем на 62. Формально abc---[…]---z.com должен работать.
Или нет?
Реальность: ограничения TLD
Стандарты — это рекомендации, пока их кто-то не начнёт проверять. Каждый реестр TLD устанавливает свои правила. Часто более строгие, чем RFC.
Кто-то запрещает определённые слова. Кто-то вообще не пускает IDN. Кто-то защищается от подделки публичных суффиксов.
А реестр Южного Судана (.ss), по слухам, не允许ает ни одного дефиса. Ноль. Вообще. Даже одного.
Nominet, управляющий .uk, не запрещает дефисы как таковые, но блокирует домены с xn--.
В общем, большинство реестров разрешают множественные дефисы. Но «большинство» — это не «все».
Аномалии: домены, которые не должны существовать
Вот где начинается самое интересное. Интернет построен на legacy-системах, костылях и «и так сойдёт». Кто-то решил покопаться и нашёл сотни доменов, нарушающих современные правила.
Несколько примеров:
0-------------------------------------------------------------0.com— создан в 1999, сейчас не работает0-------------------------------------------------------------5.com— создан в 2001, всё ещё живойa-------------------------------------------------------------a.com— 61 дефис. Шестьдесят один. Максимум. Сайт открывается и выглядит так, будто его не трогали с 2000 года.
Да. Домен с 61 дефисом подряд — рабочий сайт в 2024 году.
Есть ещё zz--icann-monitoring.uk, зарегистрированный в 2024-м — намного позже появления IDN-правил. Но Nominet не разрешает xn--, так что формально нарушения нет.
Попадаются и домены, похожие на случайные строки — возможно, для командных серверов. Паттерны интересные, если вам такое нравится.
Что с этим делать?
Честно? Ничего. Большинство регистраторов и так не дадут зарегистрировать что-то безумное. Но понимать правила полезно, если вы:
- Разрабатываете валидацию доменов в приложениях
- Работаете с IDN и нужно разобраться с исключением
xn-- - Аудируете инфраструктуру на соответствие правилам
- Просто интересно, как Интернет устроен внутри
Стандарты Интернета — живые документы. Десятилетия эволюции, люди решали реальные проблемы. Правила про дефисы — это баланс между гибкостью и ясностью. И как любые человеческие системы, они накопили причуды.
В следующий раз, когда будете выбирать домен, возьмите что-нибудь простое и запоминающееся. Но теперь вы знаете: технически можно зарегистрировать hello------------------------------------------world.com.
Не стоит. Но можно.
Какой самый странный домен вы встречали? Пишите в комментариях — мне правда интересно, что ещё там есть.