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+bOutputa=hello+world&b=a%2BbSpace 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
URL Encoding
L'encodage URL (percent-encoding) convertit en forme %HH les caractères interdits dans les URL, afin que des données arbitraires puissent figurer en toute sécurité dans les composants de l'URL. GLOSSAIRE
Percent-Encoding
Le percent-encoding est le mécanisme qui convertit les caractères non sûrs des URL en forme %HH, défini par la RFC 3986. GLOSSAIRE
URL
Une URL (Uniform Resource Locator) est une chaîne identifiant l'emplacement d'une ressource Internet, composée du schéma, de l'hôte, du port, du chemin, de la requête et du fragment. GLOSSAIRE