URL-Kodierung: Werte erhalten, ohne den Link zu beschädigen
Ein Link kann funktionieren, bis ein Name mit &, + oder Leerzeichen hinzukommt. Der Name muss nicht ungültig sein; manche Zeichen erfüllen in URLs zugleich strukturelle Aufgaben.
Ein Wert ist nicht die ganze URL
Kodieren Sie den Parameterwert, damit & keinen weiteren Parameter und # kein Fragment startet. Eine vollständige Adresse muss dagegen ihre Strukturtrenner behalten.
Wählen Sie nach der Eingabe: vollständige Adresse, Komponente oder Formularwert. Das richtige Ergebnis für einen Kontext passt nicht automatisch zu einem anderen.
Quellen: WHATWG URL Standard — Percent encoding and form encoding
Die Bedeutung von + hängt vom Kontext ab
Formularkodierung nutzt + für ein Leerzeichen und %2B für ein wörtliches Plus. Bei einer Komponente wird Leerraum meist %20; + zählt nicht automatisch als Leerzeichen.
Ersetzen Sie nicht jedes Plus ohne Kenntnis des Quellformats. Trennen Sie den ursprünglichen Nutzerwert von seiner Transportdarstellung.
Quellen: WHATWG URL Standard — Percent encoding and form encoding
Dekodieren ist ein definierter Schritt
2-faches Dekodieren kann die Bedeutung ändern. Klären Sie die vorgesehenen Kodierungsschichten, statt zu wiederholen, bis der Text vertraut aussieht.
Dieses Werkzeug verändert die Darstellung, besucht oder prüft aber kein Ziel. Eine lesbare Adresse beweist keine Vertrauenswürdigkeit; Kodierung verbirgt auch keine vertraulichen Angaben.
Beispiel: Wert mit Plus, Leerzeichen und &
A+B & C wird als Komponente zu A%2BB%20%26%20C. Formularkodierung ergibt A%2BB+%26+C. Mit der jeweils passenden Konvention ergibt Dekodieren den ursprünglichen Wert.
%252F wird einmal dekodiert zu %2F, beim zweiten Mal zu /. Das kann einen Pfad oder Wert ändern; wiederholtes Dekodieren ist nicht automatisch sichere Bereinigung.