Saltar al contenido

4xx · Errores del cliente

Error 431 Request Header Fields Too Large: qué significa y cómo solucionarlo

El error 431 Request Header Fields Too Large significa que las cabeceras de la petición superan el límite del servidor. En el 90 % de los casos la culpa es de las cookies: demasiadas, o muy grandes, acumuladas para ese dominio. En desarrollo con localhost es muy frecuente porque varias aplicaciones comparten cookies.

Qué significa el código 431

Node.js limita las cabeceras a 16 KB por defecto y responde 431. Nginx, en cambio, responde 400 "Request Header Or Cookie Too Large" ante el mismo problema.

Causas habituales del error 431

  • Cookies acumuladas en localhost de varios proyectos.
  • Tokens JWT muy grandes guardados en cookies.
  • Cabeceras de referencia (Referer) enormes por URLs muy largas.

Si eres visitante de la web

  • Borra las cookies del sitio (o de localhost en desarrollo).

Cómo solucionar el error 431

  • Reduce el tamaño de las cookies y no guardes datos grandes en ellas.
  • En Node.js, sube el límite con --max-http-header-size=32768.

Configuración y comandos

Node.js

bash
node --max-http-header-size=32768 server.js
# o en package.json: "start": "NODE_OPTIONS='--max-http-header-size=32768' react-scripts start"

Ejemplo de respuesta

http
HTTP/1.1 431 Request Header Fields Too Large

Herramientas para comprobarlo

Preguntas frecuentes

¿Por qué me sale 431 en localhost:3000?

Porque en localhost se acumulan cookies de todas las aplicaciones que has probado. Borrar las cookies de localhost lo soluciona.

Códigos relacionados

Ver todos los códigos de estado HTTP