Form Encoding
La codificación de formularios (application/x-www-form-urlencoded) es cómo los formularios HTML codifican pares clave-valor al enviarse, codificando los espacios como + en lugar de %20.
Propósito
Proporcionó una codificación más laxa que RFC 3986 para el envío temprano de formularios web, manteniendo compatibilidad con implementaciones históricas.
Mecanismo
Las claves y valores se codifican porcentualmente, pero el espacio se convierte en + en lugar de %20; los pares se unen con = y se separan con &. Los caracteres no ASCII se convierten primero a bytes en el juego de caracteres de la página (normalmente UTF-8) y luego se codifican porcentualmente.
Casos de uso
- Envío GET/POST de formularios HTML
- Codificación de parámetros de firma OAuth 1.0
- Cuerpos de petición API application/x-www-form-urlencoded
- Cuerpo de fetch con URLSearchParams
Ejemplos
- entrada
a=hello world&b=a+bOutputa=hello+world&b=a%2BbSpace becomes +, and + becomes %2B
Errores comunes
- Encoding a space as %20 instead of +, causing server-side parsing differences
- Use URLSearchParams for form scenarios and encodeURIComponent for URL components
Términos relacionados
URL Encoding
La codificación URL (percent-encoding) convierte a forma %HH los caracteres no permitidos en las URL, de modo que datos arbitrarios puedan aparecer con seguridad en los componentes de la URL. GLOSARIO
Percent-Encoding
El percent-encoding es el mecanismo que convierte los caracteres inseguros de las URL a la forma %HH, definido en la RFC 3986. GLOSARIO
URL
Una URL (Uniform Resource Locator) es una cadena que identifica la ubicación de un recurso de Internet, compuesta por esquema, host, puerto, ruta, consulta y fragmento. GLOSARIO