Hvad er et internationaliseret domænenavn (IDN)?
Ifølge Den Internationale Telekommunikationsunion (ITU) bruger mere end tre milliarder mennesker internettet, og det sker i stigende grad på deres modersmål. Denne udvikling skyldes blandt andet indførelsen af internationale domænenavne i 2003. Vi vil her forklare, hvordan IDN-domæner fungerer.
Hvad er et internationaliseret domænenavn (IDN)?
IETF (Internet Engineering Task Force) definerer IDN’er som domænenavne, der indeholder specialtegn, som ikke indgår i det latinske alfabet, f.eks. umlauter eller tegn fra andre alfabeter. DNS (Domain Name System), som har til opgave at oversætte URL’er til IP-adresser, kan imidlertid ikke fortolke disse domænenavne. DNS er baseret på det begrænsede standardtegnsæt ASCII.
For at gøre IDN’er forståelige for både DNS og andre internetprotokoller blev internetstandarden »Internationalising Domain Names in Applications« (IDNA) indført i 2003. Denne standard definerer en standardiseret oversættelse fra Unicode til ASCII, hvilket gør det muligt at anvende ikke-ASCII-tegn i domænenavne.
Hvordan fungerer IDNA?
En stor del af internettets infrastruktur understøtter kun ASCII-tegnsættet. For at sikre, at internationale domænenavne kan behandles, oversættes hvert IDN, der findes i Unicode, til en ASCII-kompatibel streng. Herefter vises URL-adresser, der indeholder tegn med accenter eller umlauter. Serveren fortsætter derimod med at behandle adresserne som ASCII-kompatible. Denne procedure er specificeret i internetstandarden IDNA2003 og i revisionen IDNA2008, som blev godkendt i 2010. Oversættelsen fra Unicode til ASCII foregår på klientsiden (i browseren, e-mailprogrammet osv.) og er baseret på en standardiseret kodningsproces kaldet Punycode.
Punycode
Punycode, der er standardiseret i RFC 3492, blev udviklet til at vise Unicode-tegnstrenger tydeligt som ASCII-tegn uden tab af kvalitet. Alle ikke-ASCII-tegn fjernes fra domænenavnet, kodes og adskilles med en bindestreg. Denne kodestreng indeholder oplysninger om det pågældende Unicode-tegn samt dets placering i domænenavnet. Derudover mærkes hver ACE-streng, der oprettes på denne måde, med præfikset xn–. Dette gør det klart for læseren, at tegnsekvensen er et IDN, der er kodet i henhold til IDNA- og Punycode-standarderne. Se vores artikel om Punycode for en detaljeret forklaring af kodningsprocessen samt nogle eksempler.
Med en online IDN-domænekonverter kan du konvertere IDN’er til de tilhørende ACE-strenge ved hjælp af Punycode.
Forskelle mellem IDNA2003 og IDNA2008
I den oprindelige procedure fra 2003 blev internationaliserede URL-adresser normaliseret inden Punycode-kodningen ved hjælp af nameprep-metoden. Denne metode omdannede store bogstaver til små bogstaver, fjernede kontroltegn og omdannede ækvivalente tegn til en ensartet form. Nameprep blev fjernet fra denne proces, da IDNA2008 blev indført. I dag foreskriver IDNA ikke nogen form for normalisering. I stedet anbefaler standarden en algoritme, der omdanner store bogstaver til små bogstaver.
Denne tilpasning imødekommer også brugere i det tysktalende område, da Unicode-tegnet »ß«, som er almindeligt i Tyskland, oprindeligt blev defineret som svarende til »ss« i henhold til IDNA2003. Domæner som f.eks. www.fußball-ergebnisse.de blev derfor automatisk normaliseret til www.fussball-ergebnisse.de i nameprep-processen. Dette er ikke længere tilfældet, siden IDNA2008 trådte i kraft. Siden 2010 fortolkes ‘ß’ korrekt som ‘Latin small letter sharp s’ og kan registreres som en del af et IDN-domæne.
Derudover understøttes omkring 8.000 tegn, som tidligere var tilladt i domænenavne under IDNA2003, ikke længere under IDNA2008. Fire tegn, herunder »ß«, fortolkes anderledes, efter at standarden blev revideret. For en detaljeret gennemgang af forskellene mellem IDNA2003 og IDNA2008 henvises til Unicode Technical Standard #46. Nedenstående tabel giver et overblik over de væsentligste forskelle:
| IDNA2003 | IDNA2008 |
|---|---|
| Nameprep-procedure påkrævet | Ingen normalisering angivet |
| Gælder for Unicode 3.2 | Gælder for Unicode-versioner fra 5.2 og frem |
| Strenge regler for skrifttyper, der skrives fra højre mod venstre | Tydeligere regler for skrifttyper, der skrives fra højre mod venstre |
| Store og små bogstaver betragtes som separate tegn | Store bogstaver konverteres til små bogstaver |
| Mange symboler er forbudt, f.eks. grafiske symboler, der ikke hører til noget alfabet, samt visse tegnsætningstegn | |
| “Remapping” fjernet fra nogle Unicode-tegn, da dette kunne føre til uregelmæssigheder |
Hvilke problemer er der med IDN’er?
I dag bør alle almindelige internetprogrammer kunne håndtere IDN. Der opstår dog stadig problemer med internationaliserede domænenavne, fordi overgangen fra IDNA2003 til IDNA2008 endnu ikke er blevet implementeret konsekvent. Et eksempel, der er problematisk for tysk, er den forskellige fortolkning af »ß«. Da IDNA2003 obligatorisk konverterer ‘ß’ til ‘ss’, kan specielle ß-domæner, der kan registreres i henhold til IDNA2008, ofte ikke findes af systemer, der konverterer i henhold til den forældede standard. I stedet dirigeres brugerne til det tilsvarende domæne, der indeholder ‘ss’. Dette problem kan omgås ved, at webstedsoperatører registrerer begge varianter og omdirigerer det andet domæne til den prioriterede stavemåde ved hjælp af en domæneomdirigering.