431

Request Header Fields Too Large

Officiellement,
L'en-tête de la demande est trop grand

Explication générale du code d'état 431

Le code d'état HTTP 431 Request Header Fields Too Large signale que la demande d'un client a été rejetée par le serveur parce que les champs d'en-tête de la demande sont trop grands. Cela peut se produire lorsque la requête contient une quantité exceptionnellement importante de données dans les en-têtes, par exemple en raison de cookies trop longs, de jetons d'authentification ou d'autres métadonnées. Le serveur n'est généralement pas en mesure de traiter cette quantité de données, car elle dépasse les limites qu'il a définies. L'erreur appartient à la catégorie des erreurs client (400-499), ce qui indique que le client doit adapter la demande avant de pouvoir la renvoyer. Une solution possible consiste à réduire la taille des données d'en-tête, par exemple en supprimant les cookies inutiles ou en comprimant les données. Pour les développeurs et les administrateurs, ce code d'état indique utilement qu'il convient soit d'optimiser les requêtes, soit d'adapter la configuration du serveur afin d'éviter les blocages inutiles. Bien que l'erreur se situe du côté du client, elle peut néanmoins perturber considérablement la communication entre le client et le serveur.

Spécification du code d'état HTTP 431

431 Request Header Fields Too Large indique que le serveur n'est pas disposé à traiter la demande parce que ses champs d'en-tête sont trop volumineux. Il peut être utilisé à la fois lorsque l'ensemble des champs d'en-tête de la demande est trop volumineux et lorsqu'un seul champ d'en-tête est en cause. Dans ce dernier cas, la représentation de la réponse DEVRAIT préciser quel champ d'en-tête était trop grand.

Par exemple:


HTTP/1.1 431 Request Header Fields Too Large Request Header Fields Too Large
Content-Type : text/html

Les réponses avec le code d'état 431 Request Header Fields Too Large NE DOIVENT PAS être stockées par un cache.

Source / Citation de : Le code d'état HTTP 431 Request Header Fields Too Large est spécifié par la section 5 de RFC6585.

Comment lancer un code d'état 431 avec PHP ?

Pour lancer le code d'état HTTP 431 sur une page web, on peut utiliser la fonction PHP http_response_code. La syntaxe est la suivante : http_response_code(431) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste le code d'état HTTP 431

Pour pouvoir afficher le code de statut HTTP (dans ce cas 431 Request Header Fields Too Large) et d'autres informations côté client, il faut ouvrir la console de développement avec F12. Ensuite, il faut naviguer vers l'onglet "Réseau". La page peut maintenant être ouverte, la page web (exemple index.php) doit être visible dans l'onglet réseau. Il faut la sélectionner et choisir ensuite le domaine Herder. L'utilisateur voit alors le résultat suivant :

Code d'état 431 Request Header Fields Too Large
Aperçu
URL: https://http-statuscode.com/errorCodeExample.php?code=431
Statut: 431 Request Header Fields Too Large
Ceux-ci: Network
Adresse IP: XX.XX.XX.XX
Code d'état 431 Request Header Fields Too Large

Comment créer une page d'erreur personnalisée pour le code d'état 431 ?

Créer sa propre page d'erreur 431 Request Header Fields Too Large est relativement facile, aussi bien avec le serveur web "Apache" qu'avec le serveur web "NGINX".

Apache Webserver

Le serveur web "Apache" est l'un des serveurs web les plus répandus sur Internet. Pour créer sa propre page d'erreur 431 Request Header Fields Too Large dans "Apache", il faut effectuer la modification suivante dans le fichier suivant.

File: .htaccess
ErrorDocument 431 /errors/431.html

NGINX Webserver

Tout comme le serveur web "Apache", "NGINX" est également très répandu sur Internet. Pour créer sa propre page d'erreur 431 Request Header Fields Too Large dans "NGINX", il faut effectuer la modification suivante dans le fichier suivant.

File: sites-enabled/default
error_page 431 /431.html;
location = /431.html {
    root /usr/share/nginx/html;
    internal;
}

Compatibilité du navigateur avec le code d'état 431

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Les constantes dans les langages de programmation

HttpStatusCode.RequestHeaderFieldsTooLarge
http.StatusRequestHeaderFieldsTooLarge
Response::HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE
:request_header_fields_too_large
Auteur: Tony Brüser
Auteur: Tony Brüser

Tony Brüser est un développeur web enthousiaste avec une prédilection pour les codes de statut HTTP.

LinkedInGitHub