Ce este un nume de domeniu internaționalizat (IDN)?
Potrivit Uniunii Internaționale a Telecomunicațiilor (UIT), peste trei miliarde de oameni utilizează World Wide Web și o fac din ce în ce mai mult în limba lor maternă. Această schimbare a fost determinată în parte de introducerea numelor de domeniu internaționale în 2003. Vom explica cum funcționează domeniile IDN.
Ce este un nume de domeniu internaționalizat (IDN)?
IETF (Internet Engineering Task Force) se referă la IDN-uri ca fiind nume de domenii care conțin caractere speciale care nu fac parte din alfabetul latin, cum ar fi umlauturi sau caractere din alte alfabete. Cu toate acestea, sistemul de nume de domenii (DNS), care este responsabil pentru traducerea adreselor URL în adrese IP, nu poate înțelege aceste nume de domenii. DNS se bazează pe setul standard limitat de caractere ASCII.
Pentru a face IDN-urile inteligibile pentru DNS, precum și pentru alte protocoale de internet, în 2003 a fost creat standardul de internet „Internationalising Domain Names in Applications” (IDNA). Acesta definește o traducere standardizată din Unicode în ASCII, permițând astfel utilizarea caracterelor non-ASCII în numele de domenii.
Cum funcționează IDNA?
O mare parte din infrastructura internetului este compatibilă doar cu setul de caractere ASCII. Pentru a se asigura că numele de domenii internaționale pot fi procesate, fiecare IDN disponibil în Unicode este tradus într-un șir ACE, care se bazează pe ASCII. După aceasta, sunt afișate adresele URL care conțin caractere cu accente sau umlauturi. Pe de altă parte, serverul continuă să proceseze adresele ca fiind compatibile cu ASCII. Această procedură este specificată în standardul de internet IDNA2003 și în revizuirea IDNA2008, care a fost aprobată în 2010. Traducerea din Unicode în ASCII are loc pe partea clientului (în browser, programul de e-mail etc.) și se bazează pe un proces de codificare standardizat numit Punycode.
Punycode
Codul Punycode standardizat RFC 3492 a fost dezvoltat pentru afișarea clară a șirurilor de caractere Unicode ca simboluri ASCII fără pierderi de calitate. Toate caracterele non-ASCII sunt eliminate din numele de domeniu, codificate și separate cu o cratimă. Această secvență de coduri conține informații despre simbolul Unicode în cauză, precum și poziția acestuia în numele de domeniu. În plus, fiecare șir ACE creat în acest mod este etichetat cu prefixul xn–. Acest lucru clarifică cititorului că secvența de caractere este un IDN care a fost codificat în conformitate cu standardele IDNA și Punycode. Consultați articolul nostru despre Punycode pentru o explicație detaliată a procesului de codificare, precum și câteva exemple.
Cu ajutorul unui convertor online de domenii IDN, puteți converti IDN-urile în șirurile ACE corespunzătoare folosind Punycode.
Diferențele dintre IDNA2003 și IDNA2008
În procedura originală din 2003, adresele URL internaționalizate erau normalizate înainte de codificarea Punycode utilizând metoda nameprep. Această metodă transforma literele majuscule în litere minuscule, elimina caracterele de control și transfera caracterele echivalente într-o formă unificată. Nameprep a fost eliminat din acest proces odată cu introducerea IDNA2008. În prezent, IDNA nu specifică nicio normalizare. În schimb, recomandă un algoritm care convertește literele majuscule în litere minuscule.
Această adaptare vine în întâmpinarea utilizatorilor din zona germanofonă, deoarece caracterul Unicode „ß”, care este comun în Germania, a fost definit inițial ca echivalent al „ss” conform IDNA2003. Domeniile precum www.fußball-ergebnisse.de au fost astfel normalizate automat la www.fussball-ergebnisse.de în procesul de pregătire a numelor. Acest lucru nu mai este valabil de când a intrat în vigoare IDNA2008. Din 2010, „ß” este interpretat corect ca „s mic latin ascuțit” și poate fi înregistrat ca parte a unui domeniu IDN.
În plus, aproximativ 8.000 de caractere care erau permise în numele de domenii în conformitate cu IDNA2003 nu mai sunt acceptate în conformitate cu IDNA2008. Patru caractere, inclusiv „ß”, sunt interpretate diferit de la revizuirea standardului. Pentru o discuție detaliată a diferențelor dintre IDNA2003 și IDNA2008, consultați Standardul tehnic Unicode nr. 46. Tabelul următor prezintă un rezumat al principalelor diferențe:
| IDNA2003 | IDNA2008 |
|---|---|
| Procedură Nameprep necesară | Nu este specificată normalizarea |
| Valabil pentru Unicode 3.2 | Valabil pentru versiunile Unicode începând cu 5.2 |
| Reguli stricte pentru fonturile de la dreapta la stânga | Reguli mai clare pentru fonturile de la dreapta la stânga |
| Literele majuscule și minuscule sunt considerate caractere separate | Literele majuscule sunt convertite în litere minuscule |
| Multe simboluri sunt interzise, de exemplu simbolurile grafice care nu aparțin niciunui alfabet, precum și unele semne de punctuație | |
| „Remaparea” a fost eliminată din unele caractere Unicode, deoarece aceasta putea duce la nereguli |
Ce probleme există cu IDN-urile?
În prezent, toate programele comune de internet ar trebui să poată înțelege IDN. Cu toate acestea, uneori apar probleme cu numele de domenii internaționalizate, deoarece trecerea de la IDNA2003 la IDNA2008 nu a fost încă implementată în mod consecvent. Un exemplu problematic pentru limba germană este interpretarea diferită a caracterului „ß”. Deoarece IDNA2003 convertește obligatoriu „ß” în „ss”, domeniile speciale ß care pot fi înregistrate conform IDNA2008 nu sunt adesea detectabile pentru sistemele care convertesc conform standardului învechit. În schimb, utilizatorii sunt direcționați către domeniul corespunzător care conține „ss”. Această problemă poate fi ocolită de operatorii de site-uri web care înregistrează ambele variante și redirecționează al doilea domeniu către ortografia prioritară folosind o redirecționare de domeniu.