IDNA

IDNA (Internationalizing Domain Names in Applications) ist ein Internetstandard, um Domains, die Nicht-ASCII-Buchstaben enthalten, als gültige ASCII-Strings im Domain Name System abzubilden. Einen solche Domainnamen bezeichnet man als IDN (Internationalized Domain Name).

Unicode-Domains werden mittels der Verfahren Nameprep und Punycode zu ASCII-Strings umgewandelt, welche als ACE-Strings (ASCII Compatible Encoding) bezeichnet werden. Die Umwandlung erfolgt beim Client (z. B. dem Browser oder Mailprogramm), sodass die Server-Infrastruktur nicht verändert werden muss. Statt der Unicode-Strings kann der Benutzer im Client auch direkt die ACE-Strings eingeben. So können auch Clients ohne IDN-Fähigkeit mit internationalen Domains arbeiten, sofern der Benutzer den ACE-String kennt.

Grundsätzlich sind alle Unicode-Zeichen in IDNs zulässig. Jede Vergabestelle für Domains regelt allerdings seperat, welche Zeichen sie für die von ihr vergebenen (Sub-)Domains erlaubt. Ab Frühjahr 2004 sollen neben den 37 gebräuchlichen Zeichen (26 Buchstaben des englischen Alphabets, 10 Ziffern und das Minus-Zeichen) für deutsche (.de) und österreichische (.at) Second- bzw. Third-Level-Domains 92 weitere Zeichen erlaubt werden. Für schweizerische (.ch) und liechtensteinische (.li) Domains kommen dagegen nur 31 weitere Zeichen dazu.

Table of contents
1 Nameprep
2 Punycode
3 Beispiele für ACE-Strings
4 Browser
5 Weblinks

Nameprep

Erst wird eine Unicode-Domain durch Nameprep normalisiert, d.h. Großbuchstaben werden zu Kleinbuchstaben und äquivalente Zeichen werden umgewandelt (so ist laut Unicode ß zu ss äquivalent, es wird also aus StRAße strasse).

Punycode

Im Anschluss an die Normalisierung werden mittels Punycode die Nicht-ASCII-Buchstaben aus dem Namen entfernt und am Ende des Namens ein ASCII-String hinzugefügt, in dem die Position und Art des Unicode-Zeichens kodiert ist. Um einen IDN von einem ASCII-Domainnamen zu unterscheiden, wird dem Punycode-kodierten String der Prefix xn-- vorangestellt.

Beispiele für ACE-Strings

Browser

Um IDN benutzen zu können, muss ein
Browser, der ja auch ein Client ist, dazu fähig sein, den in der URL-Zeile eingegebenen internationalen Domainnamen (z. B. mit Umlauten) in einen ACE-String umzuwandeln.

Liste IDN-fähiger Browser:

Weblinks