Het topleveldomein (TLD) “xn—mgba3a4f16a” is de Punycode-versie van het Internationale Domeinnaam (IDN) voor Iran, wat in het Perzisch wordt geschreven als “ایران.”. Punycode is een manier om Unicode-tekens te coderen in ASCII, die alleen de tekens bevat die in de Engelse taal worden gebruikt. Dit is essentieel voor internationale domeinnamen (IDN’s), aangezien deze tekens kunnen bevatten die niet in de ASCII-set zitten.
Het Specificatiedocument RFC 3492 van Internet Engineering Task Force (IETF) legt uit dat Punycode een manier is om een string van Unicode-tekens te vertalen naar een geheel uit letters bestaande string die volledig compatibel is met de gelimiteerde karakterset die traditioneel wordt ondersteund door Domain Name System (DNS). Het is met name bedoeld voor de ondersteuning van niet-Latijnse schrijfsystemen.
Een eenvoudig voorbeeld van hoe Punycode werkt kan als volgt zijn: De Duitse stad München, die een umlaut in zijn naam heeft, zou worden getransformeerd in “Mnchen-3ya”.
Het feit dat de Punycode-versie van Iran’s IDN een TLD is op het hoogste niveau is belangrijk. Volgens ICANN, de non-profit organisatie die verantwoordelijk is voor de coördinatie van het wereldwijde internet DNS, zijn de ‘ccTLD’s (Country Code Top Level Domains) gebaseerd op de twee-letter landcodes uit de ISO 3166-1 standaard. Veel van deze landcodes zijn echter geschreven in niet-Latijnse schrijfsystemen, waardoor Punycode noodzakelijk wordt. In het geval van Iran is het ccTLD dus .ایران. in het Perzisch, wat wordt gecodeerd als “xn—mgba3a4f16a” in Punycode.
Een opmerkelijke eigenschap van Punycode is dat, hoewel het een manier biedt om niet-Latijnse schrijfsystemen op te nemen in het DNS, het nog steeds mogelijk maakt voor diegenen die alleen de Engelse tekenset kennen om de domeinnamen te begrijpen en te gebruiken. Een .ایران. domein kan bijvoorbeeld nog steeds worden bereikt door “xn—mgba3a4f16a” in te voeren in een webbrowser, wat bruikbaar zou zijn voor mensen die het Perzische schrift niet kunnen lezen of schrijven.
Bronnen:
- RFC 3492, Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA) , van Faltstrom, et al, 2020. Beschikbaar op: https://datatracker.ietf.org/doc/html/rfc3492
- ICANN’s toelichting over IDN ccTLD’s. Beschikbaar op: https://www.icann.org/resources/pages/idn-2012-02-25-en
- ISO 3166-1, Codes voor de weergave van namen van landen en hun onderverdelingen. Beschikbaar op: https://www.iso.org/iso-3166-country-codes.html