Kaj je internacionalizirano domensko ime (IDN)?
Po podatkih Mednarodne telekomunikacijske zveze (ITU) svetovni splet uporablja več kot tri milijarde ljudi, ki ga vse pogosteje uporabljajo v svojem maternem jeziku. To spremembo je deloma povzročila uvedba mednarodnih domenskih imen leta 2003. Razložili vam bomo, kako delujejo domene IDN.
Kaj je internacionalizirano domensko ime (IDN)?
IETF (Internet Engineering Task Force) opredeljuje IDN-je kot domenska imena, ki vsebujejo posebne znake, ki niso del latinske abecede, kot so preglasi ali znaki iz drugih abeced. Vendar sistem domenskih imen (DNS), ki je odgovoren za prevajanje URL-jev v IP-naslove, teh domenskih imen ne razume. DNS temelji na omejenem standardnem naboru znakov ASCII.
Da bi bila imena domene z mednarodnimi znaki (IDN) razumljiva za sistem DNS in druge internetne protokole, je bil leta 2003 sprejet internetni standard »Internationalising Domain Names in Applications« (IDNA). Ta standard opredeljuje standardizirano pretvorbo iz Unicode v ASCII, s čimer omogoča uporabo znakov, ki niso v ASCII, v imenih domen.
Kako deluje IDNA?
Večina internetne infrastrukture podpira le znakovno kodiranje ASCII. Da bi zagotovili obdelavo mednarodnih domenskih imen, se vsako IDN, ki je na voljo v Unicode, prevede v niz ACE, ki temelji na ASCII. Na ta način se prikažejo URL-ji z znaki z naglasnimi znaki ali preglasi. Strežnik pa naslove še naprej obdeluje kot združljive z ASCII. Ta postopek je določen v internetnem standardu IDNA2003 in v reviziji IDNA2008, ki je bila odobrena leta 2010. Prevajanje iz Unicode v ASCII poteka na strani odjemalca (v brskalniku, programu za e-pošto itd.) in temelji na standardiziranem postopku kodiranja, imenovanem Punycode.
Punycode
Punycode, standardiziran v RFC 3492, je bil razvit za jasno prikazovanje nizov znakov Unicode kot ASCII-znakov brez izgube kakovosti. Vsi ne-ASCII-znaki se iz domenskega imena odstranijo, kodirajo in ločijo s pomišljajem. Ta kodna zaporedja vsebujejo informacije o zadevnem Unicode-znaku ter njegovem položaju v domenskem imenu. Poleg tega je vsak na ta način ustvarjen niz ACE označen s predpono xn–. To bralcu pojasni, da je zaporedje znakov IDN, ki je bilo kodirano v skladu s standardoma IDNA in Punycode. Podrobno razlago postopka kodiranja ter nekaj primerov najdete v našem članku o Punycode.
S spletnim pretvornikom IDN-domenskih imen lahko IDN-domenska imena pretvorite v ustrezne nize ACE s pomočjo Punycode.
Razlike med IDNA2003 in IDNA2008
V prvotnem postopku iz leta 2003 so bili internacionalizirani URL-ji pred kodiranjem v Punycode normalizirani z metodo nameprep. Ta metoda je velike črke spremenila v male, odstranila kontrolne znake in enakovredne znake pretvorila v enotno obliko. Nameprep je bil iz tega postopka odstranjen ob uvedbi standarda IDNA2008. Danes IDNA ne predpisuje nobene normalizacije. Namesto tega priporoča algoritem, ki velike črke pretvori v male.
Ta prilagoditev upošteva tudi potrebe uporabnikov v nemško govorečem svetu, saj je bil Unicode-znak »ß«, ki je v Nemčiji pogost, v skladu s standardom IDNA2003 prvotno opredeljen kot ekvivalent znaka »ss«. Domene, kot je na primer www.fußball-ergebnisse.de, so bile zato v postopku nameprep samodejno normalizirane v www.fussball-ergebnisse.de. Od uvedbe standarda IDNA2008 to ni več tako. Od leta 2010 se znak „ß“ pravilno razlaga kot „latinska mala črka s s ostrim nadčrkovjem“ in se lahko registrira kot del domene IDN.
Poleg tega okoli 8.000 znakov, ki so bili dovoljeni v domenskih imenih po standardu IDNA2003, po standardu IDNA2008 ni več podprtih. Štiri znake, med njimi tudi »ß«, se od revizije standarda razlagajo drugače. Podrobnejša obravnava razlik med standardoma IDNA2003 in IDNA2008 je na voljo v tehničnem standardu Unicode št. 46. V spodnji tabeli je povzetek glavnih razlik:
| IDNA2003 | IDNA2008 |
|---|---|
| Potreben postopek Nameprep | Normalizacija ni določena |
| Velja za Unicode 3.2 | Velja za različice Unicode od 5.2 naprej |
| Stroga pravila za pisave, ki se pišejo od desne proti levi | Jasnejša pravila za pisave, ki se pišejo od desne proti levi |
| Velike in male črke se obravnavajo kot ločeni znaki | Velike črke se pretvorijo v male črke |
| Mnogi simboli so prepovedani, npr. grafični simboli, ki ne pripadajo nobeni abecedi, ter nekateri ločilni znaki | |
| „Remapping“ je bil odstranjen iz nekaterih Unicode znakov, saj bi to lahko povzročilo nepravilnosti |
Kakšne težave obstajajo pri IDN-jih?
Danes bi morali vsi običajni internetni programi podpirati IDN. Vendar pa se včasih pojavijo težave z internacionaliziranimi domenskimi imeni, ker prehod z IDNA2003 na IDNA2008 še ni bil dosledno izveden. Primer, ki povzroča težave v nemščini, je različna interpretacija znaka »ß«. Ker IDNA2003 obvezno pretvori znak »ß« v »ss«, posebne domene z znakom »ß«, ki jih je mogoče registrirati v skladu z IDNA2008, pogosto niso vidne za sisteme, ki pretvarjajo v skladu z zastarelim standardom. Namesto tega so uporabniki preusmerjeni na ustrezno domeno, ki vsebuje »ss«. To težavo lahko spletni upravitelji obidejo tako, da registrirajo obe različici in drugo domeno preusmerijo na prednostno pisavo z uporabo preusmeritve domene.