HTTP 431 Champs d'en-tête trop volumineux
431 Request Header Fields Too Large signifie que les en-têtes de la requête HTTP sont trop volumineux pour le serveur.
Signification
Le problème provient souvent de cookies trop nombreux ou trop gros pour un domaine. Un en-tête Referer très long ou un jeton Authorization volumineux peuvent aussi dépasser la limite. Certains serveurs affichent 400 avec Request Header Or Cookie Too Large au lieu de 431.
Causes fréquentes
- Des cookies accumulés par les sessions, le suivi ou les tests A/B.
- Un JWT particulièrement volumineux dans l'en-tête Authorization.
- Plusieurs projets de développement sur localhost partagent des cookies qui s'accumulent.
- Une limite de taille des en-têtes définie trop bas sur le serveur.
Que peut faire un visiteur ?
- Effacez uniquement les cookies du domaine concerné plutôt que tous vos cookies.
- Essayez d'ouvrir le site dans une fenêtre de navigation privée.
Que peut faire le responsable ?
- Réduisez le nombre et la taille des cookies ; n'y stockez pas de gros volumes de données.
- Conservez les données volumineuses côté serveur et placez seulement un identifiant de session dans le cookie.
- Si nécessaire, adaptez les limites, comme Node.js --max-http-header-size ou Nginx large_client_header_buffers.
Impact sur le référencement
Googlebot n'envoie normalement pas de cookies de visiteur, donc le code 431 affecte rarement l'indexation des pages publiques.
Questions fréquentes
Pourquoi 431 apparaît-il sur localhost ?
Les cookies de différents projets peuvent s'accumuler sous la même adresse localhost et dépasser ensemble la limite.
431 équivaut-il à 400 Cookie Too Large ?
La cause peut être identique : des en-têtes ou cookies trop grands. Certains serveurs répondent simplement avec le code 400.