URL-Parser
Zerlegen Sie eine URL in ihre Bestandteile — Schema, Host, Pfad, Query, Fragment — und sehen Sie jeden Query-Parameter dekodiert.
Was ist ein URL-Parser?
Ein URL-Parser zerlegt einen Uniform Resource Locator in die in RFC 3986 definierten benannten Bestandteile: Schema, optionale Userinfo, Host (mit optionalem Port), Pfad, Query und Fragment. Jeder Browser, Server, Proxy, jedes CDN und jeder Link-Checker muss das intern erledigen, bevor eine Anfrage geroutet oder umgeschrieben werden kann. Die explizite Aufschlüsselung macht es leicht, Kodierungsfehler, falsch platzierte Schrägstriche, versehentlich enthaltene Zugangsdaten in URLs und IDN-Homographen-Angriffe zu erkennen.
So benutzt du diesen Parser
Füge eine URL in das Feld ein. Das Komponenten-Panel aktualisiert sich sofort. Schau in die Zeile Host, um zu sehen, ob Punycode im Spiel ist (ein Host, der mit xn-- beginnt, ist IDN-kodiert), prüfe die Zeile Port, um zu bestätigen, ob die URL den Standardport des Protokolls verwendet, und überfliege die Tabelle Query-Parameter, um genau zu sehen, welche Schlüssel und Werte beim Server ankommen. Die Zeile mit der normalisierten URL zeigt, wie die URL nach der Bereinigung durch den Browser-Parser aussieht — Großbuchstaben im Schema werden klein, Standardports entfernt, Prozentkodierung aufgeräumt.
Warum Fragmente nicht beim Server ankommen
Das Fragment — der Teil nach dem # — ist dem User-Agent vorbehalten. Browser entfernen es, bevor sie die HTTP-Anfrage senden, weshalb der Server (und deine Access-Logs und die Roh-Landing-Page-Daten deiner Analytics-Tools) es nicht sehen können. Single-Page-Apps nutzen das gezielt aus, damit Navigation sich sofort anfühlt: Routen-Wechsel aktualisieren das Fragment, anstatt eine echte Netzwerk-Anfrage auszulösen. Wenn ein Wert beim Server ankommen soll, gehört er in den Query-String, nicht ins Fragment.
Aufbau einer URL
| Bestandteil | Beispiel | Rolle |
|---|---|---|
protocol | https: | Sagt dem Client, welches Protokoll er sprechen soll. |
host | shop.example.com | Der Server, zu dem verbunden wird. Kann ein Domainname oder eine IP-Adresse sein. |
port | 8443 | TCP-Port. Standard ist 80 für http, 443 für https. |
path | /cart/checkout | Ressourcenpfad auf dem Server. Beginnt immer mit /. |
query | ?id=42&ref=hp | Optionale Schlüssel/Wert-Paare nach dem ?. |
fragment | #payment | Client-seitiger Anker nach dem #. Wird nie an den Server gesendet. |
Häufig gestellte Fragen
Sendet dieses Tool meine URLs irgendwohin?
URL-Konstruktor des Browsers; nichts wird hochgeladen. Öffne DevTools > Netzwerk und du siehst, dass beim Tippen keine Requests abgesetzt werden.Was ist Punycode?
xn--mnchen-3ya.de. Der Parser zeigt beide Formen, damit du Homographen-Angriffe erkennst, bei denen sich ein bösartiger Host als bekannte Marke tarnt.Warum zeigt der Parser Userinfo, wenn ich eine URL mit Zugangsdaten einfüge?
Bleiben wiederholte Query-Schlüssel erhalten?
?tag=a&tag=b zeigt beide Zeilen. Wie ein Server Duplikate interpretiert, hängt vom Framework ab — PHP behält standardmäßig den letzten Wert, Node.js' URLSearchParams liefert ein Array. Der Parser dedupliziert nicht; er zeigt, was tatsächlich in der URL steht.Was wird prozent-dekodiert?
Kann ich mailto:- oder tel:-URLs parsen?
URL-Konstruktor des Browsers akzeptiert. Bei mailto: sitzt die Adresse im Pfad, Header wie ?subject= erscheinen als Query-Parameter. Für komplexeres Mailto-Building schau dir unseren speziellen Mailto-Link-Generator an.