Zum Inhalt springen
uencoder

Form Encoding

Die Formular-Kodierung (application/x-www-form-urlencoded) ist die Art, wie HTML-Formulare Schlüssel-Wert-Paare beim Absenden kodieren, wobei Leerzeichen als + statt als %20 kodiert werden.

Zweck

Für frühe Webformular-Übermittlungen eine laxere Kodierung als RFC 3986 bieten und mit historischen Implementierungen kompatibel bleiben.

Mechanismus

Schlüssel und Werte werden jeweils prozentkodiert, aber ein Leerzeichen wird zu + statt %20; Paare werden mit = verbunden und durch & getrennt. Nicht-ASCII-Zeichen werden zuerst gemäß dem Zeichensatz der Seite (meist UTF-8) in Bytes umgewandelt und dann prozentkodiert.

Anwendungsfälle

  • GET/POST-Übermittlung von HTML-Formularen
  • Kodierung von OAuth-1.0-Signaturparametern
  • API-Anfragekörper in application/x-www-form-urlencoded
  • fetch-Body mit URLSearchParams

Beispiele

  • Eingabe
    a=hello world&b=a+b
    Output
    a=hello+world&b=a%2Bb

    Space becomes +, and + becomes %2B

Häufige Fehler

Encoding a space as %20 instead of +, causing server-side parsing differences
Use URLSearchParams for form scenarios and encodeURIComponent for URL components

Verwandte Begriffe

Verwandte Tools

References