Was ist PunyCode und wie funktioniert es?
Autor: Redaktion Domeny.ForSale Veröffentlicht
Kurz erklärt: Punycode ist ein Verfahren, um Unicode-Zeichen wie das polnische „ł“ oder „ó“ mit grundlegenden ASCII-Zeichen darzustellen. Bei Domainnamen ermöglicht es, eine Adresse mit landesspezifischen Buchstaben in einer technischen Form wiederzugeben, die am Präfix xn-- erkennbar ist. Zum Beispiel lautet diese Form für bücher.de xn--bcher-kva.de — das sind zwei Schreibweisen derselben Domain, nicht zwei getrennte Adressen, die man registrieren müsste.
Warum brauchen Domains Punycode?
Unicode ist ein Standard, der Zeichen vieler Sprachen und Alphabete umfasst. ASCII ist ein deutlich kleinerer Zeichensatz: Er enthält unter anderem die grundlegenden lateinischen Buchstaben, Ziffern und den Bindestrich, aber kein „ą“, „ę“ oder „ż“. Die herkömmliche Schreibweise von Hostnamen im Internet beruht auf diesem begrenzten Zeichensatz.
Um Namen mit landesspezifischen Zeichen zu ermöglichen, wurde IDNA entwickelt — ein Regelwerk für die Verarbeitung internationalisierter Domainnamen in Anwendungen. Eine Domain mit solchen Zeichen wird als IDN bezeichnet, also als internationalisierter Domainname. Punycode ist ein Bestandteil dieses Verfahrens: Es wandelt die Zeichen in eine ASCII-Darstellung um.
Punycode ist weder eine Verschlüsselung noch ein Schutz der Adresse. Es handelt sich um eine umkehrbare Kodierung. Aus einer korrekten Darstellung lassen sich die ursprünglichen Zeichen daher ohne Passwort oder Schlüssel wiederherstellen. Auch das Präfix xn-- allein bedeutet nicht, dass eine Website gefährlich ist.
Wie sieht eine kodierte Domain aus?
Die Umwandlung betrifft die einzelnen, durch Punkte getrennten Bestandteile des Namens, die sogenannten Labels. Bei der Adresse bücher.de wird der Teil bücher umgewandelt, während die Endung de unverändert bleibt. Enthalten mehrere Labels Zeichen außerhalb von ASCII, kann für jedes davon eine eigene Kodierung erforderlich sein.
In diesem Beispiel gilt:
bücherist der für Nutzer lesbare Name;bcher-kvaist das Ergebnis der Punycode-Kodierung;xn--bcher-kvaist das Label mit dem von IDNA verwendeten Präfix;xn--bcher-kva.deist die vollständige Domain in ASCII-Darstellung.
Punycode behält die im Namen vorhandenen Grundzeichen bei und beschreibt die übrigen durch eine kodierte Zeichenfolge. Man sollte jedoch weder von Hand Zeichenfolgen anhängen noch versuchen, das Ergebnis zu erraten — für die Umwandlung gibt es Werkzeuge, die IDNA unterstützen.
Die Kodierung entfernt keine diakritischen Zeichen. Die Domain żaba.pl wird nicht zur Domain zaba.pl; es sind unterschiedliche Namen, die unterschiedlichen Domaininhabern gehören können. Die Variante mit polnischen Zeichen und ihre korrekte xn--…-Darstellung bezeichnen dagegen dieselbe Domain.
Wann ist die Schreibweise mit xn– nötig?
Nutzer geben gewöhnlich den Namen mit landesspezifischen Buchstaben ein, und der Browser übernimmt die erforderliche Umwandlung. Bei der Domainverwaltung können jedoch Formulare eine ASCII-Darstellung verlangen, etwa in der DNS-Verwaltung, beim Hosting, in einem Monitoring-Werkzeug oder bei der Serverkonfiguration.
Es gibt keine einheitliche Regel für alle Verwaltungsoberflächen. Manche akzeptieren den Unicode-Namen und wandeln ihn selbst um, andere erwarten die Schreibweise mit xn--. Welches Format erforderlich ist, solltest du in der Dokumentation des jeweiligen Dienstes prüfen.
Für eine sichere Konfiguration gehst du so vor:
- Kopiere den genauen Domainnamen aus der Verwaltungsoberfläche des Registrars, also des Unternehmens, das die Registrierung betreut.
- Prüfe seine ASCII-Darstellung in der Verwaltungsoberfläche oder mit einem Werkzeug, das IDNA unterstützt.
- Gib das vom Dienst verlangte Format ein, ohne Punkte oder Bindestriche zu verändern.
- Teste nach der Konfiguration die Website, HTTPS und — falls du E-Mail nutzt — auch die E-Mail-Funktion.
Nur weil sich ein Text kodieren lässt, kann er noch nicht als Domain registriert werden. Die Registry, die eine bestimmte Endung verwaltet, legt die zulässigen Zeichen und Zeichenkombinationen fest. Außerdem gelten Längenbegrenzungen für Labels. Entscheidend ist deshalb die Länge nach der Umwandlung, nicht nur die Anzahl der sichtbaren Buchstaben. Lass dir die Verfügbarkeit des Namens und die Registrierungsregeln vom Registrar oder vom Betreiber der Domainendung bestätigen.
Warum zeigt der Browser manchmal Code statt Buchstaben?
Browser verwenden eigene Regeln für die Anzeige internationalisierter Domains. Sie können den Namen mit landesspezifischen Zeichen anzeigen oder seine technische xn---Darstellung beibehalten. Die Entscheidung hängt unter anderem von den verwendeten Alphabeten und den Schutzmechanismen gegen das Vortäuschen anderer Adressen ab.
Problematisch sind Zeichen, die ähnlich aussehen, obwohl sie unterschiedliche Unicode-Codes haben. Beispielsweise lassen sich das lateinische „a“ und das kyrillische „а“ unter Umständen nur schwer unterscheiden. Wird diese Ähnlichkeit für einen Betrug ausgenutzt, spricht man von einem Homographenangriff.
Die Anzeige von Punycode kann es Betrügern erschweren, den Unterschied zu verbergen. Sie ersetzt jedoch nicht die Prüfung der Adresse. Verwende beim Anmelden beim Onlinebanking oder E-Mail-Dienst ein gespeichertes Lesezeichen oder gib die bekannte Adresse selbst ein. HTTPS bestätigt eine verschlüsselte Verbindung mit der jeweiligen Domain, nicht aber, dass diese dem Unternehmen gehört, das der Auftritt der Website vermuten lässt.
Sollte man eine Domain mit polnischen Zeichen wählen?
Eine Domain, die der Schreibweise des Markennamens entspricht, kann für ein polnisches Publikum gut lesbar sein. Für Menschen ohne polnische Tastatur sowie in Systemen, die internationalisierte Namen nur eingeschränkt unterstützen, kann sie jedoch weniger praktisch sein. Berücksichtige bei der Auswahl deshalb nicht nur das Aussehen der Adresse, sondern auch, wie du sie weitergibst und welche Werkzeuge du verwendest.
Wenn du eine Variante mit polnischen Zeichen und eine ohne diese Zeichen registrierst, lege eine als Hauptadresse fest und leite die andere auf sie weiter. Eine Weiterleitung der Website richtet nicht automatisch die E-Mail-Nutzung ein. Zudem ist die Unterstützung einer internationalisierten Domain in einer E-Mail-Adresse eine andere Frage als die Unterstützung von Unicode-Zeichen vor dem Zeichen @.
Prüfe vor dem Domainkauf bei deinem Hosting- und E-Mail-Anbieter, ob er den gewählten Namen unterstützt und welches Format er verlangt. So kannst du die praktische Eignung der Domain beurteilen, bevor du Visitenkarten druckst und die Adresse veröffentlichst.
Siehe auch: Was ist ASCII?
