HTTP 431 Campos de cabecera demasiado grandes
431 Request Header Fields Too Large indica que las cabeceras HTTP de la solicitud superan el tamaño que admite el servidor.
Significado
La causa más habitual son cookies demasiado grandes o numerosas para un dominio. También puede influir una cabecera Referer muy larga o un JWT enorme en Authorization. Algunos servidores devuelven 400 Request Header Or Cookie Too Large en vez de 431.
Causas habituales
- Cookies acumuladas por sesiones, seguimiento o pruebas A/B.
- Un JWT demasiado grande en la cabecera Authorization.
- Varios proyectos de desarrollo en localhost acumulan cookies con el mismo host.
- El servidor tiene un límite de tamaño de cabeceras demasiado estricto.
¿Qué puede hacer un visitante?
- Borra las cookies solamente del dominio afectado, no todas las del navegador.
- Prueba a abrir el sitio en una ventana privada.
¿Qué puede hacer el administrador?
- Reduce el número y tamaño de las cookies y evita guardar muchos datos en ellas.
- Almacena los datos grandes en el servidor y utiliza en la cookie solo un identificador de sesión.
- Si es necesario, modifica el límite de cabeceras, como Node.js --max-http-header-size o Nginx large_client_header_buffers.
Impacto en SEO
Googlebot normalmente no envía cookies de usuario, así que 431 rara vez afecta a la indexación de páginas públicas.
Preguntas frecuentes
¿Por qué aparece 431 en localhost?
Las cookies de varios proyectos locales pueden enviarse al mismo localhost y superar juntas el límite.
¿431 es igual que 400 Cookie Too Large?
Puede indicar el mismo problema de cabeceras demasiado grandes. Algunos servidores utilizan el código general 400.