Domainnamen-Validator (RFC-Konformitätsprüfung)
Prüft, ob ein Domainname den Syntaxregeln von RFC 1035/1123 entspricht. Validiert einzeln die Label-Länge, die Gesamtlänge, die zulässigen Zeichen und die Position von Bindestrichen und zeigt bei jedem Verstoß den konkreten Grund an.
Was ist der Domainnamen-Validator?
Der Domainnamen-Validator prüft Schritt für Schritt, ob eine eingegebene Zeichenkette den Syntaxregeln für Domainnamen aus RFC 1035 (veröffentlicht 1987) und RFC 1123 (veröffentlicht 1989) entspricht, und bewertet dabei jede Regel einzeln, statt nur ein pauschales „gültig oder ungültig" auszugeben. Da genau angezeigt wird, welche Regel verletzt wurde und, sofern relevant, welches Label (die durch Punkte getrennten Teile einer Domain) die Ursache war, eignet sich das Tool besonders dann, wenn Sie bereits wissen, dass eine Domain-Zeichenkette irgendwo abgelehnt wird, aber nicht wissen, warum.
Wichtig ist zu verstehen, was dieses Tool nicht leistet: Es prüft ausschließlich die Syntax, also die Form der Zeichenkette als Text. Es fragt nicht das DNS ab, um zu bestätigen, dass die Domain tatsächlich registriert ist, prüft nicht, ob unter dieser Adresse eine Website läuft, und sagt nicht, ob der Name aktuell zur Registrierung verfügbar ist. Damit eignet es sich hervorragend, um zu bestätigen, dass ein Namensvorschlag für eine neue Domain oder ein Hostname, den Sie in eine Konfigurationsdatei einbauen, syntaktisch korrekt ist, bevor Sie den zusätzlichen Schritt der Registrierung oder Bereitstellung gehen.
So verwenden Sie den Domainnamen-Validator
- Domainnamen eingeben Geben Sie den zu prüfenden Domainnamen in das Eingabefeld ein (zum Beispiel example.com). Entfernen Sie zuvor ein vorangestelltes Protokoll wie `https://` oder einen angehängten Pfad wie `/path`, sodass nur der Domain-Teil übrig bleibt.
- Prüfergebnis ansehen Sobald Sie tippen, werden sechs Regeln in Echtzeit ausgewertet und jeweils mit Bestanden, Verstoß oder Hinweis gekennzeichnet.
- Begründung eines Verstoßes lesen Jede mit Verstoß markierte Zeile enthält einen konkreten Grund, etwa das betroffene Label oder dessen Zeichenanzahl, damit Sie genau sehen, welcher Teil der Zeichenkette geändert werden muss.
- Beispiel-Schaltflächen für Grenzfälle nutzen Die Schaltflächen Gültiges Beispiel und Ungültiges Beispiel füllen das Feld mit Beispieltexten, die genau an den Regelgrenzen liegen, sodass Sie das Verhalten jeder Regel schnell nachvollziehen können.
Tipps für die Nutzung
- Dieses Tool validiert anhand der in RFC 1035/1123 definierten Syntaxregeln; es prüft nicht, ob die Domain tatsächlich registriert ist oder per DNS aufgelöst werden kann.
- Bevor Sie einen eigenen Validierungs-regulären-Ausdruck für ein Formular schreiben, testen Sie mit diesem Tool zunächst die Grenzfälle (genau 63 Zeichen, Position von Bindestrichen usw.), um sicherzustellen, dass Ihre Implementierung diese abdeckt.
- Bei Eingaben mit Nicht-ASCII-Zeichen, etwa japanischen Domainnamen, wird lediglich die Zeichensatzprüfung übersprungen. Wandeln Sie sie zunächst mit dem Punycode-Konverter in die `xn--`-Schreibweise um, um eine vollständig genaue Prüfung zu erhalten.
- Eine rein numerische TLD kommt in der Praxis so gut wie nie vor, ist aber bewusst als Prüfpunkt enthalten, um bei der Formularvalidierung Eingaben zu erkennen, die mit einer IP-Adresse verwechselt werden könnten.
- Dieselben Regeln lassen sich direkt auf den Teil einer E-Mail-Adresse nach dem `@`-Zeichen anwenden und eignen sich somit auch als einfache Prüfung der E-Mail-Domain.
Einsatzmöglichkeiten
Validierungs-regulären-Ausdruck vor der Veröffentlichung prüfen
Bevor Sie einen eigenen regulären Ausdruck zur Validierung eines Domainfelds schreiben, testen Sie hier zunächst Grenzfälle — ein Label mit genau 63 Zeichen, ein Bindestrich direkt am Anfang oder Ende — um Lücken in Ihrer Implementierung frühzeitig zu erkennen.
Namensvorschlag für eine neue Domain vorab prüfen
Wenn Sie sich für den Namen eines neuen Dienstes oder einer Subdomain entscheiden, können Sie schon vor der Suche bei einer Registrierungsstelle bestätigen, dass er syntaktisch korrekt ist.
Domain-Teil einer E-Mail-Adresse stichprobenartig prüfen
Da der Teil einer E-Mail-Adresse nach dem @-Zeichen in der Regel denselben Hostnamen-Regeln folgt, dient dieses Tool auch als leichte Zusatzprüfung für Ihre E-Mail-Validierungslogik.
Ursache einer Ablehnung untersuchen
Wenn ein System eine Zeichenkette als „ungültiger Domainname" ablehnt und der Grund nicht offensichtlich ist, fügen Sie sie hier ein, um genau zu bestimmen, welche Regel nicht erfüllt ist.
Glossar
- Label
- Einer der durch Punkte getrennten Abschnitte eines Domainnamens. In www.example.com gibt es drei Labels: „www", „example" und „com". RFC 1035 legt die Längen- und Zeichenbeschränkungen auf Ebene des einzelnen Labels fest, nicht für die gesamte Domain.
- TLD (Top-Level-Domain)
- Das am weitesten rechts stehende Label eines Domainnamens, etwa .com oder .de. Es steht an der Spitze der DNS-Hierarchie, direkt unter der unsichtbaren Root-Ebene.
- FQDN (vollständig qualifizierter Domainname)
- Ein Domainname, der vom Hostnamen bis zur TLD vollständig ausgeschrieben ist, ohne einen Teil auszulassen. Streng genommen endet ein FQDN mit einem abschließenden Punkt, der die DNS-Root darstellt (z. B. example.com.), auch wenn dieser Punkt im Alltag meist weggelassen wird.
- IDN (internationalisierter Domainname)
- Ein Domainname, der Nicht-ASCII-Zeichen enthält, etwa Japanisch, Chinesisch oder arabische Schrift. Da das DNS selbst nur ASCII-Zeichen verarbeiten kann, wird ein IDN vor der eigentlichen Registrierung oder Auflösung in Punycode umgewandelt.
- Punycode
- Ein Kodierungsverfahren, das den Nicht-ASCII-Teil eines IDN in eine ASCII-Zeichenkette umwandelt, die das DNS verarbeiten kann, mit dem Präfix xn--. Browser wandeln dies in der Adressleiste in der Regel wieder in die ursprünglichen Zeichen zurück.
- Übertragungsformat
- Das binäre Format, in dem DNS-Anfragen und -Antworten tatsächlich über das Netzwerk ausgetauscht werden. Jedem Label geht ein einzelnes Byte voraus, das seine Länge angibt, und dieses Byte kann nur Werte von 0 bis 63 darstellen – der technische Ursprung der Label-Längenbegrenzung auf 63 Zeichen.
- Hostname
- Ein Name, der ein Gerät in einem Netzwerk identifiziert. Er ist eine bestimmte Art von Domainname, und RFC 1123 beschränkt die für einen Hostnamen zulässigen Zeichen auf Buchstaben, Ziffern und Bindestriche – genau das Regelwerk, gegen das dieses Tool prüft.
Häufig gestellte Fragen
Übrigens – Warum die Validierung von Domainnamen immer wieder neu erfunden wird
Die Syntaxprüfung von Domainnamen wirkt auf den ersten Blick so, als ließe sie sich mit einem einzigen einfachen regulären Ausdruck erledigen, doch tatsächlich sind es viele Entwickler, die bei eigenen Implementierungen gestolpert sind. Ob E-Mail-Validierung in Formularen, Hostnamen-Parsing in Konfigurationsdateien oder URL-Validierung in APIs – „domainähnliche Zeichenketten" tauchen überall auf, doch Implementierungen, die die offiziellen Regeln aus RFC 1035 (1987) und RFC 1123 (1989) korrekt widerspiegeln, sind erstaunlich selten.
Die zweistufige Längenbegrenzung – 63 Zeichen pro Label, insgesamt 253 Zeichen – stammt direkt aus dem Design des DNS-Übertragungsformats (dem binären Format, das tatsächlich über das Netzwerk ausgetauscht wird). Jedem Label wird ein einzelnes Längenbyte vorangestellt, und dieses Byte ist auf den Bereich 0-63 beschränkt (der mit 6 Bit maximal darstellbare Wert) – dies ist der unmittelbare Grund für die Label-Längenbegrenzung.
Auch die Konvention, dass eine TLD nicht ausschließlich aus Ziffern bestehen sollte, hat eine interessante Geschichte. Sie ist keine von einem RFC vorgeschriebene Regel, sondern vielmehr eine weit verbreitete Implementierungspraxis, um Domainnamen von IPv4-Adressen (Folgen von Ziffern und Punkten) zu unterscheiden. Viele DNS-Resolver und Browser nutzen diese Konvention, um zu entscheiden, dass eine Zeichenkette wie 192.168.1.1 als IP-Adresse und nicht als Domainname behandelt werden soll.