Kas yra tarptautinis domeno vardas (IDN)?
Tarptautinės telekomunikacijų sąjungos (ITU) duomenimis, pasauliniu tinklu naudojasi daugiau nei trys milijardai žmonių, ir vis dažniau jie tai daro savo gimtąja kalba. Šį pokytį iš dalies lėmė tarptautinių domenų vardų įvedimas 2003 metais. Paaiškinsime, kaip veikia IDN domenai.
Kas yra tarptautinis domeno vardas (IDN)?
IETF (Interneto inžinerijos darbo grupė) IDN apibrėžia kaip domenų vardus, kuriuose yra specialių simbolių, nepriklausančių lotynų abėcėlei, pavyzdžiui, umlautų ar kitų abėcėlių simbolių. Tačiau domenų vardų sistema (DNS), kuri yra atsakinga už URL adresų vertimą į IP adresus, šių domenų vardų nesupranta. DNS veikia remiantis ribotu standartiniu simbolių rinkiniu ASCII.
Siekiant, kad IDN būtų suprantami tiek DNS, tiek kitiems interneto protokolams, 2003 m. buvo sukurtas interneto standartas „Domenų vardų internacionalizavimas programose“ (IDNA). Jis apibrėžia standartizuotą konversiją iš Unicode į ASCII, todėl domenų varduose galima naudoti ne ASCII simbolius.
Kaip veikia IDNA?
Didžioji dalis interneto infrastruktūros palaiko tik ASCII simbolių rinkinį. Siekiant užtikrinti, kad būtų galima apdoroti tarptautinius domenų vardus, kiekvienas Unicode formatu pateikiamas IDN verčiamas į ASCII pagrįstą ACE eilutę. Po to rodomi URL adresai, kuriuose yra simbolių su diakritiniais ženklais ar umlautais. Kita vertus, serveris toliau apdoroja adresus kaip suderinamus su ASCII. Ši procedūra yra nurodyta interneto standarte IDNA2003 ir 2010 m. patvirtintoje IDNA2008 redakcijoje. Vertimas iš Unicode į ASCII vyksta kliento pusėje (naršyklėje, el. pašto programoje ir pan.) ir yra pagrįstas standartizuotu kodavimo procesu, vadinamu Punycode.
Punycode
RFC 3492 standarte apibrėžtas „Punycode“ buvo sukurtas tam, kad Unicode simbolių sekas būtų galima aiškiai rodyti kaip ASCII simbolius neprarandant kokybės. Visi ne ASCII simboliai iš domeno vardo pašalinami, užkoduojami ir atskiriami brūkšneliu. Ši kodų seka apima informaciją apie atitinkamą Unicode simbolį bei jo vietą domeno varde. Be to, kiekviena tokiu būdu sukurta ACE eilutė pažymima priešdėliu xn–. Tai skaitytojui paaiškina, kad simbolių seka yra IDN, užkoduotas pagal IDNA ir Punycode standartus. Išsamų kodavimo proceso paaiškinimą bei keletą pavyzdžių rasite mūsų straipsnyje apie Punycode.
Naudodamiesi internetiniu IDN domenų konverteriu, galite konvertuoti IDN į atitinkamas ACE eilutes, naudodami Punycode.
IDNA2003 ir IDNA2008 skirtumai
Pagal pradinę 2003 m. procedūrą tarptautiniai URL adresai prieš kodavimą naudojant „Punycode“ buvo normalizuojami taikant „nameprep“ metodą. Šis metodas didžiąsias raides keisdavo į mažąsias, pašalindavo valdymo simbolius ir atitinkamus simbolius paversdavo vienoda forma. Įvedus IDNA2008, „nameprep“ buvo pašalintas iš šio proceso. Dabar IDNA nenustato jokios normalizacijos. Vietoj to rekomenduojamas algoritmas, kuris didžiąsias raides konvertuoja į mažąsias.
Šis pakeitimas taip pat palengvina gyvenimą vokiškai kalbančių šalių vartotojams, nes Vokietijoje plačiai naudojamas Unicode simbolis „ß“ pagal IDNA2003 standartą iš pradžių buvo apibrėžtas kaip „ss“ ekvivalentas. Todėl tokių domenų kaip www.fußball-ergebnisse.de „nameprep“ procese buvo automatiškai normalizuojami į www.fussball-ergebnisse.de “. Nuo IDNA2008 įsigaliojimo tai nebevyksta. Nuo 2010 m. „ß“ teisingai interpretuojamas kaip „mažoji lotynų abėcėlės raidė „s“ su akcentu“ ir gali būti registruojamas kaip IDN domeno dalis.
Be to, apie 8 000 simbolių, kurie buvo leidžiami domeno varduose pagal IDNA2003, pagal IDNA2008 nebėra palaikomi. Keturi simboliai, tarp jų ir „ß“, nuo standarto peržiūros yra interpretuojami kitaip. Išsamią informaciją apie IDNA2003 ir IDNA2008 skirtumus rasite „Unicode“ techniniame standarte Nr. 46. Toliau pateiktoje lentelėje apibendrinti pagrindiniai skirtumai:
| IDNA2003 | IDNA2008 |
|---|---|
| Reikalinga „Nameprep“ procedūra | Normalizavimas nenurodytas |
| Tinka Unicode 3.2 | Galioja Unicode versijoms nuo 5.2 |
| Griežtos taisyklės šriftams, rašomiems iš dešinės į kairę | Aiškesnės taisyklės šriftams, rašomiems iš dešinės į kairę |
| Didžiosios ir mažosios raidės laikomos atskirais simboliais | Didžiosios raidės konvertuojamos į mažąsias |
| Daugelis simbolių yra draudžiami, pvz., grafiniai simboliai, nepriklausantys jokiai abėcėlei, taip pat kai kurie skyrybos ženklai | |
| Iš kai kurių Unicode simbolių pašalintas „peradresavimas“, nes tai galėjo sukelti netikslumus |
Kokios problemos kyla dėl IDN?
Šiuo metu visos populiarios interneto programos turėtų gebėti atpažinti IDN. Tačiau kartais kyla problemų su tarptautiniais domenų vardais, nes perėjimas nuo IDNA2003 prie IDNA2008 dar nėra nuosekliai įgyvendintas. Vienas iš pavyzdžių, keliančių problemų vokiečių kalbai, yra skirtingas simbolio „ß“ interpretavimas. Kadangi IDNA2003 privalomai konvertuoja „ß“ į „ss“, specialūs „ß“ domenai, kuriuos galima registruoti pagal IDNA2008, dažnai yra neaptinkami sistemoms, kurios konvertuoja pagal pasenusį standartą. Vietoj to, vartotojai nukreipiami į atitinkamą domeną, kuriame yra „ss“. Šią problemą galima apeiti, jei svetainių operatoriai užregistruoja abu variantus ir nukreipia antrąjį domeną į prioritetinį rašybos variantą naudodami domeno nukreipimą.