URL

Validierungsbericht

Was ist der URL-Validator?

URL einfügen und einen strukturierten Bericht zurückbekommen: Ist sie korrekt aufgebaut, wie sieht jede Komponente aus, worauf solltest du achten. Der Validator schickt die URL durch den nativen URL-Konstruktor des Browsers — der den WHATWG-URL-Standard implementiert — und legt darüber Komponenten-Checks.

Eine "gültige URL" ist nicht einfach eine, die geparst wird. Eine URL wie http://10.0.0.5/admin?token=abc123 parst problemlos, hat aber drei Dinge, die du wahrscheinlich gemeldet haben willst: http:// statt https://, ein IP-Literal als Host und ein Token im Querystring. Der Validator zeigt alle drei als Warnungen an, getrennt vom Pass/Fail-Check. Die Syntaxregeln stammen aus RFC 3986; die Host-Naming-Themen aus RFC 1034 und Betriebspraxis.

Die Ausgabe ist JSON, du kannst sie also in ein CI-Skript oder ein Debug-Log pipen. Alles läuft im Browser — die URL verlässt deinen Rechner nie. Wenn du die URL nur ohne Validierungsschicht in Komponenten zerlegen willst, nutze stattdessen den URL-Parser. Internationalisierte Domain-Namen werden gemäß IDNA-Regeln behandelt.

So nutzt du den URL-Validator

Drei Schritte. Jeder gehört zu einem Button auf dieser Seite.

1

URL einfügen oder Beispiel laden

Lass eine URL ins linke Panel fallen. Klick auf Beispiel, um eine saubere, korrekt aufgebaute URL mit prozent-codierten Query-Parametern zu laden:

https://api.shop.example.com/v1/orders?customer=Ava%20Chen&status=active

Der Validator aktualisiert sich beim Tippen. Probiere Edge Cases: http://-URLs, IP-Literal-Hosts, URLs mit Credentials, Single-Label-Hosts (ohne TLD), Punycode-Domains. Jede löst eine andere Warnung aus.

2

Den Bericht lesen

Das rechte Panel zeigt einen JSON-Bericht mit drei Top-Level-Feldern: isValid (ob die URL überhaupt geparst hat), checks (Status pro Komponente — Protokoll, Hostname, Port, Pathname) und warnings (Hinweise, die keine Syntaxfehler sind, dich aber wahrscheinlich interessieren).

3

Kopieren oder herunterladen

Klick auf Kopieren, um den JSON-Bericht in die Zwischenablage zu schicken, oder Herunterladen, um ihn als .json zu speichern. Minifizieren packt den Bericht in eine Zeile, falls du ihn für einen Logeintrag brauchst.

Wann du das wirklich brauchst

Eine Konfig-Datei vor dem Deploy auditieren

Die Config deines Services hat 40 URLs — Webhook-Endpunkte, OAuth-Callbacks, Drittanbieter-Integrationen. Eine hat ein eingebettetes Passwort aus einem vergessenen Test, zwei zeigen noch auf http://-Staging-Hosts. Sie eine nach der anderen durch den Validator zu schicken, fängt alle drei vor dem Release. Anforderungen an URL-Formate tauchen auch in der OAuth-2.0-Spec für Redirect-URIs auf.

Vom Nutzer eingereichte URLs in einem Formular prüfen

Ein Nutzer schickt ein "Webseite"-Feld, das sich als example herausstellt — kein Protokoll, keine TLD, einfach ein Wort. Oder https://192.168.1.5 — sieht gültig aus, parst gültig, willst du aber ziemlich sicher nicht als Profil-Link rendern. Der Validator hebt beides hervor: TLD-fehlt-Warnung beim ersten, IP-Literal-Host-Warnung beim zweiten.

Diagnostizieren, warum ein Redirect fehlschlägt

Dein OAuth-Callback gibt 400 mit "invalid redirect_uri" zurück. Im Browser sieht die URL fein aus. Du fügst sie in den Validator ein und siehst es: Im Pfad steckt ein literales Leerzeichen, und dein Auth-Anbieter vergleicht Strings nach der Kanonisierung byte-für-byte. Die Warnung ("path contains unencoded space") war die Antwort.

Eine Punycode-vs-Unicode-Diskrepanz erkennen

Du hattest münchen.example.com im Bericht erwartet und stattdessen xn--mnchen-3ya.example.com gesehen. Das ist die Punycode-Form — was über die Leitung geht — und der Validator markiert sie, damit du weißt, dass die Originaleingabe Nicht-ASCII-Zeichen hatte. Praktisch, wenn der Nutzer in einem Bug-Report eine URL aus einer IDN-Domain kopiert hat.

Häufige Fragen

Was bedeutet "gültig" hier eigentlich?

Zwei Schichten. isValid: true heißt, der URL-Konstruktor des Browsers akzeptiert die Eingabe — die Syntax ist also korrekt aufgebaut nach dem WHATWG-URL-Standard. warnings ist separat: Dinge, die syntaktisch gültig sind, aber wahrscheinlich nicht das, was du willst (unsicheres Protokoll, IP-Literal, eingebettete Credentials, fehlende TLD usw.). Eine URL kann gültig sein und trotzdem Warnungen haben.

Prüft es, ob die URL tatsächlich auf etwas auflöst?

Nein — das würde einen Netzwerkrequest erfordern, und dieses Tool läuft komplett in deinem Browser ohne ausgehende Calls. Der Validator prüft nur Syntax und oberflächliche Heuristiken. Für Erreichbarkeitschecks nutze curl -I oder ein dediziertes Uptime-Tool.

Warum wird http://example.com als Warnung markiert?

Weil eine Klartext-URL 2026 fast immer ein Fehler ist — moderne Browser warnen Nutzer, bevor Formulare über http:// abgeschickt werden, Googles "why HTTPS matters" liefert die ausführliche Version, und HSTS-Preload-Domains weigern sich überhaupt, über HTTP zu laden. Die Warnung ist beratend; wenn du wirklich http:// meinst (Legacy-Intranet, lokale Entwicklung), ignoriere sie.

Was ist mit relativen URLs wie /api/orders?

Der URL-Konstruktor braucht eine absolute URL — ohne Basis kann er Protokoll oder Host nicht bestimmen. Der Validator gibt in dem Fall isValid: false mit einer klaren Fehlermeldung zurück. Um eine relative URL zu validieren, stelle ihr zuerst eine Basis wie https://example.com voran.

Sind Credentials in URLs immer falsch?

Fast immer. RFC 3986 §3.2.1 hält fest, dass Credentials in URLs aus Sicherheitsgründen veraltet sind. Sie landen in der Browser-History, in Server-Access-Logs und in Proxy-Caches. Moderne Browser entfernen sie still beim Einfügen aus der Zwischenablage. Der Validator markiert sie, damit du eine explizite Spur hast, bevor sie irgendwohin entweichen, wo sie nicht hingehören.

Kümmert er sich um IDN-Domains?

Ja — der Validator notiert, ob der Hostname in Punycode-Form (xn--...) oder in reinem ASCII vorliegt. Browser können Nutzern die Unicode-Form anzeigen, während sie auf der Leitung die Punycode-Form übertragen — das ist die Quelle von IDN-Homograph-Angriffen. Den Punycode sichtbar zu machen ist ein kleines, aber nützliches Signal.

Weitere URL- & JSON-Tools

Validierung ist eine Operation. Hier ist, was natürlich dazu passt: