Domenii IDN (Internationalized Domain Names)

29 May 2015

Domenii IDN (Internationalized Domain Names)

Domeniile IDN (Internationalized Domain Names) au fost implementate începând cu anul 2003. De atunci domeniile IDN au fost implementate în majoritatea țărilor din lume, inclusiv la nivel de ”Top Level Domain” (.РФ Rusia, .СРБ Serbia, .УКР Ucraina). Toate țările vecine (Bulgaria, Serbia, Ungaria, Ucraina), dar și majoritatea țărilor membre UE (Germania, Austria, Franța, Polonia, Cehia, Spania, Norvegia, Danemarca, Finlanda, Suedia, Belgia, Slovenia), au implementat IDN.

Domeniile cu diacritice românești sunt deja disponibile pentru domeniile .eu începând cu anul 2009, dar și pentru multe alte domenii cod de țară.

În ultimii ani, ICI-ROTLD a primit din partea utilizatorilor Internet din țară un număr din ce în ce mai mare de solicitări pentru domenii cu diacritice.

În perioada 2-4 iunie 2015 se desfășoară la Sofia Conferința South Eastern European Dialogue (SEEDIG), unde, printre altele, se discută și situația implementării domeniilor IDN în Europa de Est.

România a amânat implementarea domeniilor cu diacritice din cauza confuziei creată de caracterele ș și ț, pe primele sisteme Windows fiind disponibile numai caracterele ş și ţ cu sedilă.

De mai mulți ani însă, sistemele de operare Windows oferă suport pentru caracterele ș și ț cu virgulă dedesubt, corecte din punctul de vedere al limbii române. Sistemul de operare Windows XP care nu oferă caracterele ș și ț cu virgulă dedesubt nu mai este suportat de Microsoft și procentul de utilizatori a scăzut foarte mult.

Ținând seama că România este singura țară din Europa de Est care nu oferă domenii cu diacritice, este momentul să ne aliniem la standardele internaționale.

Întrebări frecvente

Ce înseamnă IDNA?
IDNA sau Internationalized Domain Names for Applications este descris în RFC 5890 și enunță metodologia prin care numele de domenii construite din caractere din afara setului de caractere ASCII (domeniu IDN) pot deveni funcționale utilizând infrastructura existentă DNS care nu poate opera în afara setului de caractere ASCII. Deoarece modul de operare al sistemului DNS nu poate fi schimbat, s-a impus găsirea unei soluții de corespondență biunivocă între numele unui de domeniu IDN și forma sa ASCII care poate fi înțeleasă și interpretată de către sistemul DNS. Forma corespondentă ASCII a unui domeniu IDN (cu diacritice) se numește ACE adică ASCII- Compatible Encoding. Această corespondență este guvernată de algoritmul Punycode care stă la baza întregului sistem IDNA. Algoritmul Punycode este descris în RFC 3492 și actualizat în RFC 5892.

Ce este un domeniu IDN (domeniu cu diacritice)?
Un domeniu cu diacritice (domeniu IDN) poate conține și caractere din afara setului de caractere ASCII. Mai exact, un domeniu IDN este format din caractere Unicode, care au suport pentru toate caracterele din toate limbile, inclusiv pentru cele din setul ASCII. Nu toate caracterele Unicode pot fi folosite în construirea unui nume de domeniu IDN valid. Caracterele Unicode care pot produce confuzie în utilizarea domeniilor IDN nu sunt permise în domeniile IDN. De exemplu, numele de domeniu românia.ro este un domeniu IDN format corect deoarece conține caractere Unicode permise în sistemul IDN. Forma ACE biunivocă a acestui domeniu este xn--romnia-yta.ro. Forma ACE conține numai caractere ASCII și este forma recunoscută de sistemul de nume de domenii (DNS). De precizat că domeniul cu diacritice românia.ro este diferit de domeniul fără diacritice romania.ro.

Cum funcționează IDN?
Internet-ul funcționează pe principiul client/server iar fiecare entitate, client sau server, are un rol foarte bine determinat. Prima interacțiune a unui client sau aplicație cu un domeniu IDN sau ASCII simplu este aceea de a obține adresa IP a serverului cu care încearcă să comunice, cu ajutorul sistemului DNS. În cazul numelor de domenii ASCII lucrurile se desfășoară normal, însă în cazul numelor de domenii IDN, clientul trebuie mai întâi să convertească domeniul IDN în forma sa ACE deoarece această formă este înregistrată și cunoscută de către sistemul DNS. Astfel sistemul DNS poate să “rezolve” un domeniu IDN. Aplicațiile prezintă utilizatorului domeniu în format IDN (de exemplu, românia.ro), dar în interacțiunea cu serviciul DNS se folosește forma ACE (de exemplu, xn--romnia-yta.ro).

Ce este Unicode?
Unicode este un standard în industria de calcul care permite codificarea, reprezentarea și manipularea de text exprimat în majoritatea sistemelor de scriere mondiale. Unicode alocă un număr întreg unic, numit Unicode Code Point fiecărui caracter. Modul în care acest număr este interpretat de către sistemele de calcul este definit de tipul de codificare al caracterelor, cel mai răspândit fiind UTF-8.
UTF-8 folosește pentru codificarea caracterelor un octet (caracterele ASCII) până la 4 octeți. Diacriticele românești sunt codificate în UTF-8 pe 2 sau 3 octeți.

Ce este ASCII?
ASCII (American Standard Code for Information Interchange) reprezintă o schemă de codificare a caracterelor folosite în reprezentarea textului în computere, echipamente de comunicație etc. Codul ASCII specifică modul de codificare a 128 de caractere în reprezentări binare pe 7 biți. Caracterele codificate astfel sunt numerele de la 0 la 9, literele de la ‘a’ la ‘z’ și de la ‘A’ la ‘Z’, anumite simboluri de punctuație, caractere de control și spațiu.

Ce înseamnă Punycode?
Punycode este algoritmul care stă la baza întregului sistem IDNA. Algoritmul Punycode este descris în RFC 3492 și actualizat în RFC 5892, fiind responsabil cu prelucrarea etichetei domeniului IDN. Prelucrarea constă în transformarea caracterelor majuscule în caractere minuscule, detectarea caracterelor care nu sunt permise în sistemul IDN, aplicarea unui calcul matematic prin care se obține forma biunivocă ACE precedată de prefixul xn-- , a domeniului IDN. Forma ACE este înregistrată în sistemul DNS care îi permite acestuia să servească domenii IDN.

Cum apare un domeniu cu diacritice în WHOIS?
Prin serviciul WHOIS, interogat pe portul 43, se poate verifica doar forma ASCII a unui domeniu cu diacritice. Răspunsul la o interogare WHOIS pe portul 43 este afișat în format ASCII. Aplicația web de tip WHOIS de la www.rotld.ro permite specificarea unui domeniu în ambele forme IDN (cu diacritice) sau ACE (cu caractere ASCII).

Ce caractere diacritice sunt premise în domeniile .ro?
Pe lângă setul de caractere ASCII permise în numele de domenii (caracterele alfanumerice a-x 0-9 și caracterul cratimă “-“), următoarea tabelă conține diacriticele românești permise în înregistrarea domeniilor .ro, și anume:

Caracter Unicode Code Point Reprezentare hexazecimală UTF-8 Reprezentare binară UTF-8
(BAZA#INTREG_BINAR)
Descriere
Ț 538 0x21A 2#001000011010. latin capital letter t with comma below
ț 539 0x21B 2#001000011011. latin small letter t with comma below
Ș 536 0x218 2#001000011000. latin capital letter s with comma below
ș 537 0x219 2#001000011001. latin small letter s with comma below
ă 259 0x103 2#000100000011. latin small letter a with breve
Ă 258 0x102 2#000100000010. latin capital letter a with breve
î 238 0xEE 2#11101110. latin small letter i with circumflex
Î 206 0xCE 2#11001110. latin capital letter i with circumflex
â 226 0xE2 2#11100010. latin small letter a with circumflex
 194 0xC2 2#11000010. latin capital letter a with circumflex

Cu toate că tabela enumeră și caracterele majuscule, în procesul de normalizare al algoritmului Punycode acestea sunt convertite în caracterele corespondente minuscule, astfel că domeniile șanț.ro și Șanț.ro sunt echivalente deoarece au aceeași corespondență ACE xn--an-c9ak.ro. Caracterele descrise mai sus fac parte din setul de caractere Unicode numit Romanian Standard. Setul de caractere Unicode numit Romanian Legacy nu este permis în domeniile cu diacritice .ro pentru a se elimina confuzia generată de asemănarea caracterelor ş, ţ cu sedilă din standardul Romanian Legacy cu caracterele ș, ț cu virgulă dedesubt din standardul Romanian Standard. Astfel, domeniul şanţ.ro (scris cu ş, ţ cu sedilă ) este invalid.

Informații preluate de pe www.rotld.ro