Čo je internacionalizovaný doménový názov (IDN)?
Podľa Medzinárodnej telekomunikačnej únie (ITU) používa internet viac ako tri miliardy ľudí, a to čoraz častejšie vo svojom materinskom jazyku. Túto zmenu čiastočne spôsobilo zavedenie medzinárodných doménových mien v roku 2003. Vysvetlíme vám, ako fungujú domény IDN.
Čo je internacionalizovaný doménový názov (IDN)?
IETF (Internet Engineering Task Force) označuje IDN ako doménové mená, ktoré obsahujú špeciálne znaky, ktoré nie sú súčasťou latinskej abecedy, ako sú dĺžne znaky alebo znaky z iných abecied. Systém doménových mien (DNS), ktorý je zodpovedný za preklad URL adries na IP adresy, však tieto doménové mená nerozumie. DNS je založený na obmedzenej štandardnej znakovej sade ASCII.
Aby boli IDN zrozumiteľné pre DNS aj pre ostatné internetové protokoly, bol v roku 2003 vytvorený internetový štandard Internationalising Domain Names in Applications (IDNA). Ten definuje štandardizovaný preklad z Unicode do ASCII, čím umožňuje používanie ne-ASCII znakov v doménových menách.
Ako funguje IDNA?
Veľká časť infraštruktúry internetu podporuje iba znakovú sadu ASCII. Aby bolo možné spracovávať medzinárodné doménové mená, každé IDN dostupné v Unicode sa preloží do reťazca ACE, ktorý je založený na ASCII. Následne sa zobrazia URL adresy obsahujúce znaky s diakritikou alebo prehláskami. Server na druhej strane naďalej spracováva adresy ako kompatibilné s ASCII. Tento postup je špecifikovaný v internetovom štandarde IDNA2003 a v revízii IDNA2008, ktorá bola schválená v roku 2010. Preklad z Unicode do ASCII prebieha na strane klienta (v prehliadači, e-mailovom programe atď.) a je založený na štandardizovanom kódovacom procese nazývanom Punycode.
Punycode
Punycode, štandardizovaný podľa RFC 3492, bol vyvinutý na jasné zobrazenie reťazcov znakov Unicode ako symbolov ASCII bez straty kvality. Všetky znaky, ktoré nie sú ASCII, sa odstránia z názvu domény, zakódujú sa a oddelia sa pomlčkou. Táto sekvencia kódov obsahuje informácie o príslušnom symbole Unicode, ako aj o jeho polohe v názve domény. Okrem toho je každý takto vytvorený reťazec ACE označený predponou xn–. Tým sa čitateľovi objasňuje, že reťazec znakov je IDN, ktorý bol zakódovaný podľa štandardov IDNA a Punycode. Podrobné vysvetlenie procesu kódovania a niekoľko príkladov nájdete v našom článku o Punycode.
Pomocou online konvertora domén IDN môžete pomocou Punycode konvertovať IDN na zodpovedajúce reťazce ACE.
Rozdiely medzi IDNA2003 a IDNA2008
V pôvodnom postupe z roku 2003 boli internacionalizované URL adresy normalizované pred kódovaním Punycode pomocou metódy nameprep. Táto metóda zmenila veľké písmená na malé, odstránila riadiace znaky a previedla ekvivalentné znaky do jednotnej podoby. Nameprep bol z tohto procesu odstránený po zavedení IDNA2008. Teraz IDNA nešpecifikuje žiadnu normalizáciu. Namiesto toho odporúča algoritmus, ktorý prevádza veľké písmená na malé.
Táto úprava vyhovuje aj používateľom v nemecky hovoriacich krajinách, pretože znak Unicode „ß“, ktorý je bežný v Nemecku, bol pôvodne definovaný ako ekvivalent „ss“ podľa IDNA2003. Domény ako www.fußball-ergebnisse.de boli tak automaticky normalizované na www.fussball-ergebnisse.de v procese nameprep. Od zavedenia IDNA2008 to už neplatí. Od roku 2010 sa znak „ß“ správne interpretuje ako „malé latinské písmeno ostré s“ a môže sa registrovať ako súčasť domény IDN.
Okrem toho približne 8 000 znakov, ktoré boli možné v doménových menách podľa IDNA2003, už nie sú podporované podľa IDNA2008. Štyri znaky vrátane „ß“ sa po revízii normy interpretujú odlišne. Podrobné informácie o rozdieloch medzi IDNA2003 a IDNA2008 nájdete v technickej norme Unicode č. 46. V nasledujúcej tabuľke je uvedený prehľad hlavných rozdielov:
| IDNA2003 | IDNA2008 |
|---|---|
| Vyžaduje sa postup Nameprep | Normalizácia nie je špecifikovaná |
| Platné pre Unicode 3.2 | Platné pre verzie Unicode od 5.2 |
| Prísne pravidlá pre písma s smerom písania sprava doľava | Jasnejšie pravidlá pre písma s smerom písania sprava doľava |
| Veľké a malé písmená sa považujú za samostatné znaky | Veľké písmená sa konvertujú na malé písmená |
| Mnohé symboly sú zakázané, napr. grafické symboly, ktoré nepatria do žiadnej abecedy, ako aj niektoré interpunkčné znamienka | |
| „Remapping“ bol odstránený z niektorých znakov Unicode, pretože to mohlo viesť k nezrovnalostiam |
Aké problémy sú spojené s IDN?
V súčasnosti by všetky bežné internetové programy mali byť schopné rozpoznať IDN. Niekedy však dochádza k problémom s internacionalizovanými doménovými menami, pretože prechod z IDNA2003 na IDNA2008 ešte nebol konzistentne implementovaný. Jedným z príkladov, ktorý je problematický pre nemčinu, je odlišný výklad znaku „ß“. Keďže IDNA2003 povinné konvertuje znak „ß“ na „ss“, špeciálne domény ß, ktoré je možné registrovať podľa IDNA2008, často nie sú vyhľadateľné pre systémy, ktoré konvertujú podľa zastaraného štandardu. Namiesto toho sú používatelia presmerovaní na príslušnú doménu obsahujúcu „ss“. Tento problém je možné obísť tak, že prevádzkovatelia webových stránok zaregistrujú obe varianty a presmerujú druhú doménu na prioritné písanie pomocou presmerovania domény.