Vad är ett internationaliserat domännamn (IDN)?
Enligt Internationella teleunionen (ITU) använder mer än tre miljarder människor internet, och allt fler gör det på sitt modersmål. Denna förändring beror delvis på införandet av internationella domännamn 2003. Vi förklarar hur IDN-domäner fungerar.
Vad är ett internationaliserat domännamn (IDN)?
IETF (Internet Engineering Task Force) definierar IDN som domännamn som innehåller specialtecken som inte ingår i det latinska alfabetet, till exempel omljud eller tecken från andra alfabet. Domännamnssystemet (DNS), som ansvarar för att översätta URL:er till IP-adresser, kan dock inte tolka dessa domännamn. DNS baseras på den begränsade standardteckensatsen ASCII.
För att göra IDN begripliga för DNS och andra internetprotokoll skapades 2003 internetstandarden Internationalising Domain Names in Applications (IDNA). Denna standard definierar en standardiserad översättning från Unicode till ASCII, vilket möjliggör användning av icke-ASCII-tecken i domännamn.
Hur fungerar IDNA?
En stor del av internetinfrastrukturen stöder endast ASCII-teckensnittet. För att säkerställa att internationella domännamn kan bearbetas översätts varje IDN som finns tillgängligt i Unicode till en ACE-sträng, som baseras på ASCII. Därefter visas URL:er med tecken med accenter eller omljud. Servern fortsätter däremot att bearbeta adresserna som ASCII-kompatibla. Denna procedur specificeras i internetstandarden IDNA2003 och i revideringen IDNA2008, som godkändes 2010. Översättningen från Unicode till ASCII sker på klientsidan (i webbläsaren, e-postprogrammet etc.) och baseras på en standardiserad kodningsprocess som kallas Punycode.
Punycode
Den RFC 3492-standardiserade Punycode utvecklades för att tydligt visa Unicode-teckensträngar som ASCII-symboler utan kvalitetsförlust. Alla icke-ASCII-tecken tas bort från domännamnet, kodas och separeras med ett bindestreck. Denna kodsekvens innehåller information om Unicode-symbolen i fråga samt dess position i domännamnet. Dessutom märks varje ACE-sträng som skapas på detta sätt med prefixet xn–. Detta klargör för läsaren att teckensekvensen är ett IDN som har kodats enligt IDNA- och Punycode-standarderna. Se vår artikel om Punycode för en detaljerad förklaring av kodningsprocessen samt några exempel.
Med en online-IDN-domänkonverterare kan du konvertera IDN till motsvarande ACE-strängar med hjälp av Punycode.
Skillnader mellan IDNA2003 och IDNA2008
I det ursprungliga förfarandet från 2003 normaliserades internationaliserade URL:er före Punycode-kodning med hjälp av nameprep-metoden. Denna metod ändrade versaler till gemener, tog bort kontrolltecken och överförde likvärdiga tecken till en enhetlig form. Nameprep togs bort från denna process när IDNA2008 infördes. Nu specificerar IDNA ingen normalisering. Istället rekommenderar den en algoritm som omvandlar versaler till gemener.
Denna anpassning tillgodoser även användare i den tyskspråkiga världen, eftersom Unicode-tecknet ”ß”, som är vanligt i Tyskland, ursprungligen definierades som motsvarande ”ss” enligt IDNA2003. Domäner som www.fußball-ergebnisse.de normaliserades därför automatiskt till www.fussball-ergebnisse.de i namprep-processen. Detta är inte längre fallet sedan IDNA2008 trädde i kraft. Sedan 2010 tolkas ”ß” korrekt som ”latinsk liten bokstav skarpt s” och kan registreras som en del av en IDN-domän.
Dessutom stöds inte längre cirka 8 000 tecken som var möjliga i domännamn enligt IDNA2003 enligt IDNA2008. Fyra tecken, däribland ”ß”, tolkas annorlunda sedan standarden reviderades. För en detaljerad beskrivning av skillnaderna mellan IDNA2003 och IDNA2008, se Unicode Technical Standard #46. Följande tabell sammanfattar de viktigaste skillnaderna:
| IDNA2003 | IDNA2008 |
|---|---|
| Namneprepareringsprocedur krävs | Ingen normalisering specificerad |
| Gäller för Unicode 3.2 | Giltigt för Unicode-versioner från 5.2 och framåt |
| Strikt regler för höger-till-vänster-teckensnitt | Tydligare regler för höger-till-vänster-teckensnitt |
| Versaler och gemener betraktas som separata tecken | Versaler konverteras till gemener |
| Många symboler är förbjudna, t.ex. grafiska symboler som inte tillhör något alfabet, samt vissa skiljetecken | |
| ”Ommappning” har tagits bort från vissa Unicode-tecken, eftersom detta kan leda till oregelbundenheter |
Vilka problem finns det med IDN?
Vid det här laget bör alla vanliga internetprogram kunna förstå IDN. Ibland uppstår dock problem med internationaliserade domännamn eftersom övergången från IDNA2003 till IDNA2008 ännu inte har genomförts konsekvent. Ett exempel som är problematiskt för tyska är den olika tolkningen av ”ß”. Eftersom IDNA2003 obligatoriskt konverterar ”ß” till ”ss” är speciella ß-domäner som kan registreras enligt IDNA2008 ofta inte sökbara för system som konverterar enligt den föråldrade standarden. Istället dirigeras användarna till motsvarande domän som innehåller ”ss”. Detta problem kan kringgås genom att webbplatsoperatörer registrerar båda varianterna och omdirigerar den andra domänen till den prioriterade stavningen med hjälp av en domänomdirigering.