Door Anoniem: In de praktijk ondersteunt DNS geen Unicode, maar slechts ASCII (zoals www.xn--80ak6aa92e.com).
Punycode is een truc van webbrowsers om ASCII domeinnamen (die met xn-- beginnen)om te zetten in Unicode en dat te tonen in o.a. de URL balk (i.p.v. de werkelijke DNS naam). Goed bedoeld maar helaas niet zonder risico's.
Punycode is helemaal geen truuk van webbrowsers.
Punycode is een efficiënte codeermethode om (delen van) domeinnamen die uit niet ondersteunde ASCII karakters bestaan (en zijn gevat in Unicode) om te zetten naar een reeks ondersteunde ASCII-tekens die deze Unicode teken(s) vertegenwoordigen.
Zo kunnen bijv. je browser en je e-mail cliënt er tenminste nog iets van maken.
Het DNS systeem kan die non-ASCII karakters op zich wel ondersteunen. Daar zit niet zozeer het probleem.
De restricties om alleen een subset van ASCII te gebruiken (letters, cijfers,-) zit 'em in de eis van de gebruikte standaard netwerkprotocollen. En daarom is het DNS-systeem gedwongen om daar rekening me te houden.
Een domeinnaam die met deze codeermethode is omgezet wordt een domeinnaam weergegeven "in punycode".
Net zoals bijvoorbeeld getallen of karakters kunnen zijn weergegeven "in hexadecimaal".
(hexadecimaal is in wezen een codeermethode voor het weergeven van getallen)
Een codeermethode dus.
Punycode is een codeermethode.
xn-- maakt eigenlijk zelf geen deel uit van de punycode. (vergelijk: "0X" maakt zelf geen deel uit van een hexcode)
Het is een voorzetsel dat een IDN voor de punycode zet.
Dit hoeft niet altijd aan het begin te staan.
Als de websitenaam begint met "www." (=geen punicode) hoeft daar geen xn-- voor.
xn-- staat voor het deel tussen de puntjes van de websitenaam die punycode nodig heeft omdat er één of meer karakters zijn gebruikt die standaard niet in een domeinnaam mogen voorkomen.