🗂️ 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
🔧 Soluciones recomendadas
1️⃣ Eliminar cookies innecesarias o limpiar caché
El problema más común es una cookie inflada, corrupta o demasiado larga.
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:
o más:
5️⃣ Aumentar límites en Apache
En .htaccess o apache2.conf:
6️⃣ Verificar proxys y CDN
Servicios como Cloudflare o HAProxy pueden rechazar headers grandes antes de llegar al servidor real.
Solución:
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:
El tamaño típico recomendado para headers es entre 4 KB y 16 KB por petición.
No comments to display
No comments to display