Las cabeceras son demasiado grandes.
Cuándo usarlo
Las cookies demasiado grandes suelen ser las culpables.
Causas habituales y soluciones
Las cabeceras son demasiado grandes, y las cookies casi siempre son la causa: montones de cookies de seguimiento, una sesión guardada en el lado del cliente o un JWT con muchos claims guardado en una cookie. En localhost se acumulan las cookies de todas las aplicaciones que has ejecutado alguna vez, porque las cookies ignoran el puerto. Borrar las cookies del sitio suele solucionarlo de inmediato, lo que además confirma el diagnóstico.
Node.js devuelve 431 cuando las cabeceras superan los 16 KB, lo que afecta a menudo a servidores de desarrollo como Vite y Next.js; --max-http-header-size aumenta el límite. nginx y Apache responden al mismo problema con 400. La solución real son cabeceras más pequeñas: guarda solo un ID de sesión en la cookie, limita el alcance de las cookies con valores de Path y Domain acotados y elimina las obsoletas.
Error del cliente (4xx)
Los códigos 4xx son errores del cliente: la solicitud en sí es incorrecta, no está autorizada o apunta a algo que no existe. Repetir la misma solicitud no servirá de nada.
Cómo se ve
HTTP/1.1 431 Request Header Fields Too LargeCómo enviarlo
| Node.js / Express | res.status(431).end() |
|---|---|
| Python / Flask | return '', 431 |
| nginx | return 431; |
Cómo comprobarlo
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/