A kötőjelek meglepően vad története
A kötőjelek meglepően bonyolult története a domain nevekben
Elgondolkodtál már azon, hány kötőjelet lehet egymás után pakolni egy domain névbe? Nálam ez egy hétköznapi kérdésből indult, de végül évtizedeknyi internetes szabványon vágtam át magam — és a válasz sokkal érdekesebb, mint gondolnád.
A gyors válasz (aztán nem is annyira)
Elméletben akár 59 egymást követő kötőjelet is tartalmazhatna egy domain név. De a gyakorlatban? Az bonyolult. Attól függ, melyik RFC-re hivatkozol, melyik TLD nyilvántartóval van dolgod, és állítólag attól is, hogy az elmúlt 25 évben bárki is törődött-e a szabályok betartatásával.
Hosszú, furcsa utazás az internet történelmében
Vissza az időben. 1978-ban a korai internetes szabványok a kötőjel karaktert még "mínusznak" nevezték, nem kötőjelnek. Az RFC 608 azt határozta meg, hogy a hostnevek betűket, számokat és a mínuszjelet használhatják — mindössze két valódi korlátozással: az első karakternek betűnek kellett lennie, az utolsó pedig NEM lehetett mínuszjel.
1981-re ez az RFC 810-ben vált hivatalossá, ami a domain név szintaxist úgy írta le, ami ma már ősi programozási jelölésnek tűnik: <name> ::= <let>[*[<let-or-digit-or-hyphen>]<let-or-digit>]. Magyarul: betűvel kezdődik, betűvel vagy számmal végződik, és közé bármi kerülhet.
Az RFC 952 1989-ben ezt továbbvitte, némileg tisztább megfogalmazásban. Aztán jött az RFC 1035 1987-ből, amelyet gyakran a "preferált név szintaxis" szabványként idéznek. Megerősítette: a labeleknek betűvel kell kezdődniük, betűvel vagy számmal kell végződniük, és csak betűket, számokat és kötőjeleket tartalmazhatnak belül.
Mi hiányzik? Nincs korlátozás a kötőjelek számára.
Az IDN csavar
Egészen 2010-ig viszonylag stabil maradt minden, amikor megjelentek az Internationalized Domain Names (IDN). Ezek az xn-- előtaggal engedélyezik a nem ASCII karaktereket. Itt válik érdekessé a történet.
Az RFC 5891 bevezetett egy új szabályt: "A Unicode string NEM tartalmazhat '--' (két egymást követő kötőjelet) a harmadik és negyedik karakterpozícióban."
Miért? Mert az xn-- a 3-4. pozícióban úgy néz ki, mint --. A szabály az összetévesztés megakadályozására létezik. Ha a domained xn-nel kezdődik, rendben vagy. Mindenki más? A 3. és 4. pozícióban tilos a két kötőjel.
Tehát elméletileg 59 egymást követő kötőjelet kaphatsz úgy, hogy a 4. pozíciótól kezded és a 62.-ig zárod. Valami olyasmi, mint abc---[…]---z.com működnie kellene.
Vagy mégsem?
A valóság kemény: TLD korlátozások
Itt jön a lényeg: a szabványok csak ajánlások, amíg valaki nem kényszeríti ki őket. Minden Top Level Domain nyilvántartó saját szabályzatot állíthat fel, gyakran korlátozóbb módon, mint az RFC-k.
Egyes nyilvántartások tiltanak bizonyos szavakat. Néhány teljesen elutasítja az IDN regisztrációkat. Mások megakadályozzák a közönséges suffixekkel való megtévesztést.
És akkor ott a Dél-Szudán .ss nyilvántartója, amely állítólag egyetlen kötőjelet sem enged. Nullát. Semmit. Még egyet sem.
A Nominet, amely a .uk-ot kezeli, nincs ugyan kötőjel-korlátozása, de nem engedélyezi az xn-- domaineket.
Általánosságban a legtöbb nyilvántartó engedi a több kötőjeles domainek regisztrálását — de a "legtöbb" nem jelent "mindet."
A anomáliák: Domainek, amelyek nem léteznének
Itt válik igazán szórakoztatóvá. Az internet rengeteg örökölt rendszeren, szélsőséges eseten és "elég jó" implementációkon fut. Valaki úgy döntött, kicsit ás egyet, és több száz olyan domain nevet talált, amelyek megsértik a modern szabályokat.
Néhány érdekesség a kutatásból:
0-------------------------------------------------------------0.com— 1999-ben létrehozva, most nem működik0-------------------------------------------------------------5.com— 2001-ben létrehozva, még mindig éla-------------------------------------------------------------a.com— 61 kötőjel. Igen, hatvanegy. A lehetséges maximum. Ez a weboldal még mindig működik, és úgy néz ki, mintha 2000 óta nem frissült volna.
Így van. Egy domain 61 egymást követő kötőjellel 2024-ben is egy működő weboldalra mutat.
Van még zz--icann-monitoring.uk, 2024-ben regisztrálva — jóval az IDN szabályok bevezetése után. De mivel a Nominet nem engedi az xn-- domaineket, ez technikailag megfelel a szabályoknak.
Más figyelemre méltó példák közé tartoznak a véletlenszerűen generált stringnek tűnő domainek, amelyeket parancs- és irányítószerverekhez használhatnak. A minták lenyűgözőek, ha érdekel az ilyesmi.
Mit jelent ez neked?
Őszintén? Valószínűleg semmit. A legtöbb domain regisztrátor úgysem engedi, hogy valami abszurdot regisztrálj. De a szabályok ismerete fontos, ha:
- Domain validációt építesz az alkalmazásaidba
- Nemzetköziesített domainekkel dolgozol és meg kell értened az
xn--kivételt - Meglévő infrastruktúrát auditsz megfelelőségi problémák után kutatva
- Egyszerűen kíváncsi vagy, hogyan működik az internet a motorháztető alatt
Az internet szabványai élő dokumentumok, évtizedek alatt fejlődtek, miközben az emberek valós problémákat oldottak meg. A kötőjel szabályok az rugalmasság és az egyértelműség egyensúlyát tükrözik — és mint minden emberi rendszer, ennek is megvannak a maga furcsaságai.
Következő alkalommal, amikor domain nevet választasz, maradj egyszerűnél és megjegyezhetőnél. De most már tudod: ha igazán akarnád, technikailag regisztrálhatnál hello------------------------------------------world.com-ot.
Valószínűleg nem kellene. De megtehetnéd.
Mi a legvadabb domain név, amivel valaha találkoztál? Írd meg a kommentekben — őszintén kíváncsi vagyok, milyen más anomáliák lapulnak még odakint.