Kas ir internacionalizēts domēna vārds (IDN)?
Saskaņā ar Starptautiskās telekomunikāciju savienības (ITU) datiem vairāk nekā trīs miljardi cilvēku izmanto pasaules tīmekli, un arvien biežāk to dara savā dzimtajā valodā. Šīs pārmaiņas daļēji izraisīja starptautisko domēnu vārdu ieviešana 2003. gadā. Mēs izskaidrosim, kā darbojas IDN domēni.
Kas ir internacionalizēts domēna vārds (IDN)?
IETF (Internet Engineering Task Force) ar IDN apzīmē domēna vārdus, kuros ir iekļauti speciāli simboli, kas nepieder pie latīņu alfabēta, piemēram, umlauti vai simboli no citiem alfabētiem. Tomēr domēnu vārdu sistēma (DNS), kas atbild par URL pārvēršanu IP adresēs, nespēj atpazīt šos domēna vārdus. DNS balstās uz ierobežoto standarta simbolu kopu ASCII.
Lai IDN būtu saprotami gan DNS, gan citiem interneta protokoliem, 2003. gadā tika izstrādāts interneta standarts „Internationalising Domain Names in Applications“ (IDNA). Tas nosaka standartizētu pārveidošanu no Unicode uz ASCII, tādējādi ļaujot domēnu nosaukumos izmantot ne-ASCII rakstzīmes.
Kā darbojas IDNA?
Liela daļa interneta infrastruktūras atbalsta tikai ASCII rakstzīmju kopu. Lai nodrošinātu starptautisko domēnu vārdu apstrādi, katrs Unicode formātā pieejamais IDN tiek pārvērsts par ASCII balstītu ACE virkni. Pēc tam tiek parādītas URL adreses, kurās ir rakstzīmes ar diakritiskajām zīmēm vai umlautiem. Savukārt serveris turpina apstrādāt adreses kā ASCII saderīgas. Šī procedūra ir noteikta interneta standartā IDNA2003 un tā 2010. gadā apstiprinātajā pārskatītajā versijā IDNA2008. Pārveidošana no Unicode uz ASCII notiek klienta pusē (pārlūkprogrammā, e-pasta programmā utt.) un balstās uz standartizētu kodēšanas procesu, ko sauc par Punycode.
Punycode
RFC 3492 standartizētais Punycode tika izstrādāts, lai Unicode rakstzīmju virknes varētu skaidri attēlot kā ASCII simbolus bez kvalitātes zuduma. No domēna vārda tiek izņemti visi ne-ASCII simboli, tie tiek kodēti un atdalīti ar defisi. Šī kodu virkne satur informāciju par attiecīgo Unicode simbolu, kā arī par tā pozīciju domēna vārdā. Turklāt katrai šādā veidā izveidotajai ACE virknei tiek pievienots prefikss xn–. Tas lasītājam norāda, ka rakstzīmju virkne ir IDN, kas ir kodēta saskaņā ar IDNA un Punycode standartiem. Sīkāku skaidrojumu par kodēšanas procesu, kā arī dažus piemērus skatiet mūsu rakstā par Punycode.
Izmantojot tiešsaistes IDN domēnu konvertētāju, varat konvertēt IDN domēnus to atbilstošajās ACE virknēs, izmantojot Punycode.
Atšķirības starp IDNA2003 un IDNA2008
Sākotnējā 2003. gada procedūrā internacionalizētās URL tika normalizētas pirms Punycode kodēšanas, izmantojot „nameprep“ metodi. Šī metode pārveidoja lielos burtus par mazajiem, izdzēsa vadības simbolus un pārveidoja līdzvērtīgos simbolus vienotā formā. „Nameprep“ tika izslēgts no šī procesa, ieviešot IDNA2008. Tagad IDNA neparedz nekādu normalizāciju. Tā vietā tas iesaka algoritmu, kas pārveido lielos burtus par mazajiem.
Šī pielāgojuma rezultātā tiek ņemti vērā arī vācu valodā runājošo valstu lietotāji, jo Unicode rakstzīme „ß“, kas ir plaši izplatīta Vācijā, saskaņā ar IDNA2003 sākotnēji tika definēta kā „ss“ ekvivalents. Tādējādi domēni, piemēram, www.fußball-ergebnisse.de, nosaukuma sagatavošanas procesā tika automātiski normalizēti uz www.fussball-ergebnisse.de. Kopš IDNA2008 ieviešanas šāda situācija vairs nepastāv. Kopš 2010. gada ‘ß’ tiek pareizi interpretēts kā ‘Latin small letter sharp s’ un to var reģistrēt kā daļu no IDN domēna.
Turklāt aptuveni 8000 rakstzīmes, kas bija pieļaujamas domēnu nosaukumos saskaņā ar IDNA2003, vairs netiek atbalstītas saskaņā ar IDNA2008. Četras rakstzīmes, tostarp „ß”, kopš standarta pārskatīšanas tiek interpretētas citādi. Sīkāku izklāstījumu par atšķirībām starp IDNA2003 un IDNA2008 skatiet Unicode tehniskajā standartā Nr. 46. Turpmākajā tabulā ir apkopotas galvenās atšķirības:
| IDNA2003 | IDNA2008 |
|---|---|
| Nepieciešama Nameprep procedūra | Nav norādīta normalizācija |
| Derīgs Unicode 3.2 | Derīgs Unicode versijām no 5.2 un jaunākām |
| Stingri noteikumi attiecībā uz fontiem, kas raksta no labās puses uz kreiso | Skaidrāki noteikumi par fontiem, kas rakstīti no labās puses uz kreiso |
| Lielie un mazie burti tiek uzskatīti par atsevišķiem rakstzīmēm | Lielie burti tiek pārvērsti mazos burtos |
| Daudzi simboli ir aizliegti, piemēram, grafiskie simboli, kas nepieder pie neviena alfabēta, kā arī daži pieturzīmes | |
| Dažiem Unicode simboliem ir noņemta „pārkartēšana”, jo tas varētu izraisīt nepareizības |
Kādas problēmas rada IDN?
Šobrīd visām plaši izmantotajām interneta programmām vajadzētu atbalstīt IDN. Tomēr ar internacionalizētajiem domēnu vārdiem dažkārt rodas problēmas, jo pāreja no IDNA2003 uz IDNA2008 vēl nav vienmērīgi īstenota. Viens no piemēriem, kas rada grūtības vācu valodā, ir atšķirīgā „ß“ interpretācija. Tā kā IDNA2003 obligāti pārveido „ß” par „ss”, īpašie ß domēni, kurus var reģistrēt saskaņā ar IDNA2008, bieži vien nav atrodami sistēmās, kas veic pārveidošanu saskaņā ar novecojušo standartu. Tā vietā lietotāji tiek novirzīti uz atbilstošo domēnu, kurā ir „ss”. Šo problēmu var apiet, ja tīmekļa vietņu operatori reģistrē abus variantus un, izmantojot domēna pāradresāciju, novirza otro domēnu uz prioritāro rakstību.