Skip to main content

🗂️ Error 431 – Campos de cabecera demasiado grandes (Request Header Fields Too Large)

El error 431 aparece cuando el servidor rechaza una solicitud porque uno o varios encabezados HTTP (headers) enviados por el cliente son demasiado grandes o exceden los límites permitidos.

Esto puede deberse a:

  • Cabeceras individuales demasiado extensas

  • Conjuntos de cabeceras que en total superan el tamaño máximo

  • Cookies gigantes

  • Tokens o datos innecesarios enviados en headers

El servidor básicamente dice:
“No puedo procesar tu petición. Tus cabeceras son demasiado grandes.”


Causas más comunes

  • 🍪 Cookies demasiado grandes o corruptas (muy típico).

  • 🔑 Tokens JWT excesivamente largos enviados en Authorization.

  • 🔁 Headers repetidos generados por errores de código.

  • 📦 Datos que deberían enviarse en el body, pero se envían como headers.

  • 🌐 Aplicaciones SPA que guardan demasiada información en cookies.

  • 🔧 Límites muy estrictos en Nginx o Apache.

  • 🤖 Bots o herramientas enviando cabeceras mal formadas o gigantes.


🔧 Soluciones recomendadas

1️⃣ Eliminar cookies innecesarias o limpiar caché

El problema más común es una cookie inflada, corrupta o demasiado larga.

En el navegador:

  • Borrar cookies del sitio

  • Limpiar cache

  • Reiniciar sesión


2️⃣ Reducir tamaño de tokens o moverlos a otro lugar

Ejemplos:

  • JWT de más de 8 KB → demasiado grande

  • Tokens enviados en cada request cuando no es necesario

Solución:

  • Guardar tokens cortos

  • Usar almacenamiento de sesión o local storage

  • Enviar tokens solo cuando aplique


3️⃣ Revisar headers enviados por tu aplicación

Evitar:

  • Enviar JSON codificado en base64 dentro de headers

  • Enviar configuraciones o datos grandes en X-Custom-*

  • Duplicar headers por errores en funciones o librerías


4️⃣ Aumentar los límites en Nginx

En nginx.conf:


large_client_header_buffers 4 16k;

o más:


large_client_header_buffers 4 32k;

5️⃣ Aumentar límites en Apache

En .htaccess o apache2.conf:


LimitRequestFieldSize 16384 LimitRequestFields 100

6️⃣ Verificar proxys y CDN

Servicios como Cloudflare o HAProxy pueden rechazar headers grandes antes de llegar al servidor real.

Solución:

  • Reducir cookies

  • Usar tokens más pequeños

  • Configurar reglas de seguridad


7️⃣ Revisar aplicaciones SPA o frameworks (React, Angular, Vue)

Estas aplicaciones pueden generar tokens grandes o cookies con datos sensibles.

Evitar:

❌ Guardar toda la sesión en cookies
❌ Enviar estados gigantes en cada request
❌ Usar tokens no comprimidos


🔐 Consejo Pro

Para evitar el error 431:

  • Mantén cookies < 4 KB

  • Mantén JWT o tokens compactos

  • No guardes datos innecesarios en headers

  • Limpia cookies y renueva tokens al detectar este error

  • Aumenta límites solo si es estrictamente necesario

El tamaño típico recomendado para headers es entre 4 KB y 16 KB por petición.