Über dieses Tool
Was ist Prozentkodierung?
Eine URL darf nur eine begrenzte Menge von ASCII-Zeichen enthalten, und einige davon haben eine Aufgabe: ? leitet die Query ein, & trennt Parameter, # leitet das Fragment ein. Jedes andere Zeichen, und jedes reservierte Zeichen, das als reine Daten dient, wird Byte für Byte als Prozentzeichen mit zwei Hexadezimalziffern geschrieben. Ein Leerzeichen wird zu %20, und é, das in UTF-8 zwei Bytes belegt, wird zu %C3%A9. Die Regeln stehen in RFC 3986.
Beim Dekodieren wird das umgekehrt. Es schlägt fehl, wenn auf ein Prozentzeichen nicht zwei Hexadezimalziffern folgen oder wenn die maskierten Bytes kein gültiges UTF-8 sind; das Tool nennt dann die Sequenz und ihre Position.
Welcher Modus wofür?
Komponente ist richtig für einen einzelnen Teil einer URL: einen Query-Wert, ein Pfadsegment oder eine Weiterleitungs-URL, die als Parameter übergeben wird. Der Modus maskiert /, ?, & und =, damit der Wert nicht mit der Struktur der URL verwechselt werden kann.
Ganze URL ist für eine vollständige Adresse gedacht, bei der nur Leerzeichen und Nicht-ASCII-Zeichen korrigiert werden müssen. Die Strukturzeichen bleiben unangetastet, was aber auch heißt, dass dieser Modus keinen Wert schützen kann, der sie enthält. Er maskiert außerdem %, sodass eine bereits kodierte URL doppelt kodiert wird, und er maskiert die eckigen Klammern um eine IPv6-Adresse im Host. Beim Dekodieren lässt dieser Modus die Escape-Sequenzen von Strukturzeichen wie %2F und %26 unverändert.
Formular ist das Format application/x-www-form-urlencoded, das Browser beim Absenden eines HTML-Formulars verwenden, im Query-String oder im Request-Body; ein Leerzeichen wird darin als + geschrieben. Beim Dekodieren wird ein + nur in diesem Modus als Leerzeichen gelesen.
Wie die URL zerlegt wird
Ist die Eingabe, oder ersatzweise die Ausgabe, eine absolute URL, liest das Tool sie mit dem URL-Parser des Browsers, demselben, der auch Links und fetch verarbeitet. Die Tabelle zeigt Schema, Zugangsdaten, Host, Port, Pfad und Fragment sowie jeden Query-Parameter mit dekodiertem Schlüssel und Wert. Der Parser normalisiert, was er liest. In einer Web-URL schreibt er zum Beispiel Schema und Host klein, löst die Segmente . und .. im Pfad auf und kodiert Zeichen wie Leerzeichen mit Prozentkodierung, sodass die Teile leicht von der Eingabe abweichen können. Ein internationalisierter Hostname in einer http- oder https-URL erscheint in seiner ASCII-Form (Punycode), so wie der Parser ihn speichert.
Gibt die URL keinen Port an und kennt das Tool den Standardport ihres Schemas, zeigt es diesen an, zum Beispiel 443 für https.