URL / URI Tools

URL-ParserVerstehen, wie der Browser eine Adresse liest

Verstehen, wie der Browser eine Adresse liest

URL-Parser

Eingabe

Die Eingabe wird in diesem Browser verarbeitet und nicht an einen Server gesendet.

Ergebnis

Optionen

Relative Verweise brauchen eine gültige Basis. Mit Basis ist auch ein leerer Verweis erlaubt.

Die Ausgabe folgt WHATWG. Originaleingabe und Basistext werden nicht exportiert.

Authority-Zugangsdaten sind immer verdeckt und fehlen in href. Keine Suche nach Geheimnissen in Pfad, Query oder Fragment.

Eingabe und Basis je 100.000 UTF-16-Einheiten; maximal 1.000 Parameter und 4.000.000 Ausgabeeinheiten.

Adresse oder Basis eingeben oder Beispiel wählen.

Der URL-Parser zeigt, weshalb ein Link anders interpretiert wird, als seine Schreibweise vermuten lässt. So lässt sich eine URL analysieren, wenn Port, Host oder Pfad im Ergebnis überraschen.

Eine URL zerlegen heißt hier: Bestandteile nach Browserregeln lesen und Query-Parameter in ihrer Reihenfolge erhalten. Zum URL dekodieren wird nicht die gesamte Adresse in einen unstrukturierten Text verwandelt.

Wann hilft der URL-Parser?

Den tatsächlichen Host erkennen

Der URL-Parser trennt hostname, host und origin. Text vor @ kann ein Benutzername sein. Zugangsdaten erscheinen nur als feste Platzhalter und werden aus href vollständig entfernt.

Farbige Adresssegmente werden zu einzelnen Karten; Zugangsdaten sind mit einem Schloss verdeckt.

Relative Verweise nachvollziehen

Bei einer Basis mit /docs/guide/ führt ../assets/logo.svg nach /docs/assets/. Das Ergebnis erklärt den Verzeichniswechsel, ohne den eingegebenen Text zu ersetzen.

Basisordner und ein relativer Dateipfad ergeben eine aufgelöste Verzeichnisfolge mit erhaltenen Parametern.

Basis, Normalisierung und Ausgabe

01

Die Basis bewusst angeben

Relative Verweise benötigen eine gültige Basis. Ein leerer Verweis mit Basis ist erlaubt; eine ungültige angegebene Basis scheitert auch bei einer absoluten Eingabe.

02

Abweichungen richtig lesen

Standardports verschwinden, Domainbuchstaben werden kleingeschrieben und .. wird aufgelöst. Im Query bedeutet + ein Leerzeichen, %2B dagegen ein Pluszeichen.

03

Nur aktuelle Ergebnisse exportieren

Automatik wartet 350 ms. Ohne Automatik starten die Schaltfläche oder Strg/Cmd+Enter die Analyse. Änderungen sperren alte Exporte. Beispiel und Leeren werden vorab angezeigt und lassen sich nach dem Anwenden einmal rückgängig machen.

Was der Bericht unterscheidet

Host ist nicht hostname

host enthält einen abweichenden Port, hostname nicht. IPv6-Klammern bleiben erhalten. Bei normalen Webadressen enthält origin zusätzlich das Schema.

Parameter bleiben einzelne Einträge

Doppelte Namen sowie leere Namen und Werte bleiben bestehen. flag und flag= ergeben beide einen leeren Wert; die ursprüngliche Schreibweise geht dabei verloren.

JSON oder normalisierte Adresse

Wählen Sie Komponenten-JSON oder href ohne Zugangsdaten. Der Bericht hält nur fest, ob eine Basis angegeben wurde, und exportiert weder Basistext noch Originaleingabe.

Andere Schemas lesen

mailto:, data:, blob: und file: folgen den nativen Regeln. Ein leerer Host oder origin mit dem Wert "null" muss kein Fehler sein.

Verhalten und feste Grenzen

WHATWG statt Originaltreue
Die Browser-API normalisiert unter anderem Host, IPv4-Schreibweisen, Ports und Pfade. Nur die Eingabefelder bewahren den Originaltext; Exporte enthalten abgeleitete Werte. Führende und abschließende C0-Steuerzeichen und Leerzeichen sowie eingebettete Tabs, CR und LF werden entfernt; einzelne Surrogate werden zu U+FFFD.
Tolerante Query-Dekodierung
URLSearchParams liest + als Leerzeichen und toleriert fehlerhafte Prozentsequenzen. Ungültiges UTF-8 wie %FF wird ersetzt. Das ist keine strenge Kodierungsprüfung.
Schutz gilt für Authority-Zugangsdaten
Vorhandene Werte für username, password und userinfo werden durch *** ersetzt; href enthält sie nicht. Das gilt auch für verschachtelte blob-Authorities. Geheimnisse in Pfad, Query oder Fragment werden nicht gesucht. Verschachtelte blob-Pfade werden bis zu 32 Ebenen verarbeitet. Tiefere Pfade sowie nicht parsebare verschachtelte Pfade mit @ werden vollständig verdeckt.
Keine Prüfung des Zielservers
Keine Navigation, HTTP-Anfrage oder DNS-Abfrage. Erfolgreiches Parsen belegt weder Sicherheit noch Erreichbarkeit. Eine registrierbare Domain wird nicht anhand der PSL ermittelt.
Nicht jeder Pfad ist ein Verzeichnis
Opaque-Pfade bei mailto: oder data: folgen anderen Regeln und eignen sich nicht allgemein als Basis. file: sagt nichts über vorhandene Dateien oder Leserechte aus.
Vollständige Ausgabe oder Fehler
Eingabe und Basis dürfen jeweils 100.000 UTF-16-Einheiten umfassen. Grenzen: 1.000 Query-Einträge und 4.000.000 Ausgabeeinheiten. Zu große Ergebnisse werden abgelehnt, nicht gekürzt.

Fragen zum URL-Parser

Wie unterscheiden sich Host und Origin?

Bei https://example.com:8443/a ist host gleich example.com:8443, origin gleich https://example.com:8443 und hostname gleich example.com. Standardports werden zuvor entfernt.

Weshalb verändert die Normalisierung meinen Pfad?

Die URL-API interpretiert Punktsegmente nach dem Standard. Aus /a/../b wird bei HTTPS /b. Das Ergebnis beschreibt die aufgelöste Adresse und nicht deren ursprüngliche Schreibweise.

Verlässt die eingegebene Adresse den Browser?

Der Analysevorgang läuft im Browser. Er sendet die eingegebene Adresse weder an einen Analyseserver noch öffnet er das Ziel.

Wie kann userinfo den tatsächlichen Host verschleiern?

In https://trusted.example@other.example/ ist trusted.example der Benutzername. Der Host lautet other.example. Deshalb sollten Sie hostname lesen, statt den Namen vor @ als Ziel anzusehen.

Was bedeutet das Präfix xn-- beim Hostnamen?

Es kennzeichnet eine Punycode-Darstellung eines internationalisierten Domainlabels. Die native ASCII-Schreibweise ist keine Auskunft über Eigentümer oder Vertrauenswürdigkeit.

Stimmt etwas nicht?

Die nächste Adresse genauer lesen

Nutzen Sie den URL-Parser, um Basis, aufgelösten Pfad und doppelte Parameter zu vergleichen, bevor Sie den Bericht exportieren.