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