Aller au contenu
uencoder

Form Encoding

Le codage de formulaire (application/x-www-form-urlencoded) est la manière dont les formulaires HTML encodent les paires clé-valeur à la soumission, en codant les espaces en + plutôt qu'en %20.

Objectif

Il a fourni un codage plus souple que la RFC 3986 pour la soumission des premiers formulaires web, en restant compatible avec les implémentations historiques.

Mécanisme

Les clés et valeurs sont chacune encodées en pourcentage, mais l'espace devient + au lieu de %20 ; les paires sont jointes par = et séparées par &. Les caractères non ASCII sont d'abord convertis en octets selon le jeu de caractères de la page (généralement UTF-8) puis encodés en pourcentage.

Cas d’usage

  • Soumission GET/POST de formulaires HTML
  • Codage des paramètres de signature OAuth 1.0
  • Corps de requête API en application/x-www-form-urlencoded
  • Corps fetch avec URLSearchParams

Exemples

  • entrée
    a=hello world&b=a+b
    Output
    a=hello+world&b=a%2Bb

    Space becomes +, and + becomes %2B

Erreurs courantes

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

Termes associés

Outils associés

References