Accueil
/
Aide du site web
/
Comment corriger l’erreur HTTP 431 « Request Header Fields Too Large »

Comment corriger l’erreur HTTP 431 « Request Header Fields Too Large »

Avez-vous déjà rencontré l’erreur HTTP 431 « Request Header Fields Too Large » ? Bien qu’il soit moins courant que les autres codes d’état HTTP, il est tout de même assez répandu pour causer des problèmes à un grand nombre d’utilisateurs.

Vous faites peut-être partie de ces cas et vous vous demandez comment y faire face. Ne cherchez pas plus loin, cet article vous expliquera ce qu’est l’erreur HTTP 431, les raisons courantes pour lesquelles elle se produit, et la manière de la résoudre. Nous vous donnerons également des informations sur les outils à utiliser pour résoudre ce problème et sur les meilleures pratiques à adopter pour l’éviter lors de vos prochaines sessions.

Le code d’état HTTP 431 « Request Header Fields Too Large » est une erreur côté client indiquant que le serveur ne peut pas traiter la requête envoyée par votre navigateur à cause de la taille excessive des champs de l’en-tête HTTP de la requête. Le problème peut concerner :

  • la taille totale des en-têtes de la requête
  • un seul champ d’en-tête trop grand

Le modèle requête-réponse est le fondement du protocole HTTP qui alimente Internet. Chaque fois que vous visitez une page, remplissez un formulaire, cliquez sur un bouton, etc, votre navigateur envoie une requête au serveur web qui héberge le site web sur lequel vous vous trouvez. Cette requête contient des champs d’en-tête qui définissent les conditions de la communication et contiennent des informations importantes sur le client. Le serveur traite la requête, trouve les ressources appropriées et renvoie une réponse HTTP.

En général, tout se passe bien et vous voyez simplement une représentation réussie de la réponse sous la forme d’une page web, d’une image, d’une vidéo ou d’un autre type de ressource web. Cependant, si un problème survient avec le serveur ou votre navigateur, vous verrez probablement un message d’erreur indiquant ce qui a pu se passer.

Dans le cas d’une erreur HTTP 431, le problème est spécifiquement lié à la taille des en-têtes de requête que votre navigateur a envoyés au serveur, car ils sont trop volumineux pour le serveur web, qui ne peut donc pas produire une réponse correcte. Ainsi, au lieu d’accéder à la ressource demandée, vous obtenez un message d’erreur tel que celui ci-dessous.

Erreur HTTP 431 « Request Header Fields Too Large »

Quelles sont les raisons pour lesquelles l’erreur HTTP 431 se produit

Le problème sous-jacent de l’erreur HTTP 431 est la taille excessive des en-têtes d’une requête HTTP. Mais qu’est-ce qui peut faire grossir les en-têtes à ce point ? Différents problèmes peuvent contribuer à l’apparition du code d’état 431. Nous allons examiner les plus courants.

  • Cookies surdimensionnés : Les cookies sont de petits éléments de données que votre navigateur stocke pour mémoriser les préférences et les informations de connexion à différents sites web. Lorsque vous visitez à nouveau un site web, ils sont inclus dans les en-têtes de la requête. Cependant, lorsqu’il y a trop de cookies et qu’ils deviennent trop volumineux, ils peuvent causer des problèmes. Les cookies augmentent la taille des en-têtes de requête, et lorsqu’ils sont combinés, ils peuvent dépasser la capacité du serveur à les traiter.
  • Paramètres de requête d’URL longs : Les paramètres de requête d’URL sont les informations ajoutées à une URL pour transmettre les données au serveur. Les sites web les incluent généralement dans les liens des URL de provenance à des fins de suivi ou d’analyse. Bien que les sites web fournissent des instructions pour générer ces paramètres, le navigateur est responsable de la construction de l’URL finale. Si les paramètres deviennent excessivement longs, cela peut entraîner des problèmes comme l’erreur HTTP 431, où le serveur est incapable de traiter l’URL demandée en raison de la taille de ses en-têtes.
  • Limites du serveur : Si le serveur d’un site web n’accepte pas les en-têtes plus volumineux, il se peut qu’il rejette les requêtes, ce qui génère l’erreur HTTP 431.
  • En-têtes personnalisés excessifs : Certaines applications ou certains sites web (en particulier ceux qui contiennent du code personnalisé) peuvent demander aux clients de générer des en-têtes personnalisés pour leurs requêtes. S’il y a trop d’en-têtes, ou s’ils contiennent trop de données, le serveur risque de ne pas être capable de les gérer correctement.

Comment résoudre l’erreur HTTP 431

Avant de corriger l’erreur HTTP 431, il est préférable d’en examiner les causes exactes. De cette manière, vous pourrez adopter la solution la plus appropriée et la plus efficace.

Commencez par déterminer si le problème se situe du côté du client (votre navigateur) ou du côté du serveur (le site web). Essayez d’accéder au site web à partir d’un autre navigateur ou d’un autre appareil.

Si l’erreur persiste, il s’agit probablement d’un problème côté serveur. En tant que propriétaire du site web, vous pouvez consulter le journal des erreurs du serveur. Ces journaux peuvent fournir des informations précieuses sur ce qui ne fonctionne pas correctement.

Journaux d’erreurs du serveur dans Site Tools

Cependant, si l’erreur disparaît, votre navigateur pourrait en être la cause. Pour examiner ce qui se passe sur le back-end, vous pouvez examiner les requêtes dans la console des outils de développement de votre navigateur.

Erreur HTTP 431 des outils de développement Chrome

Comment corriger l’erreur HTTP 431

Une fois que vous avez mieux compris le problème sous-jacent, vous pouvez commencer à le résoudre. Voici les actions les plus courantes pour remédier au code de statut de réponse « Request Header Fields Too Large ».

Comment corriger l’erreur HTTP 431 « Request Header Fields Too Large »

Vider le cache et supprimer les cookies du navigateur

C’est l’une des premières choses à faire lorsque vous rencontrez l’erreur HTTP 431. Vous effacerez toutes les données obsolètes ou inutiles qui auraient pu rendre vos en-têtes de requêtes trop volumineux.

L’effacement des données de navigation dépend du navigateur que vous avez choisi. Vous trouverez ci-dessous la procédure détaillée pour différents navigateurs et appareils.

Gardez à l’esprit que si vous choisissez de supprimer tous les cookies, vous serez déconnecté de tous les sites web. Vous pouvez choisir de supprimer uniquement les cookies du site qui vous pose problème. Voici comment procéder sur Chrome :

  1. Cliquez sur le menu à trois points et sélectionnez Paramètres.
  2. Ouvrez la section Confidentialité et sécurité.
  3. Choisissez Cookies tiers.
    Cookies tiers dans Chrome
  4. Cliquez sur Voir toutes les données et autorisations des sites.
    Voir toutes les données de site et les autorisations dans Chrome
  5. Recherchez le site web dans la liste et cliquez sur l’icône de la corbeille. Si vous ne le voyez pas, saisissez le nom du site dans le champde recherche en haut à droite.
    Suppression des données d'un site web
  6. Dans la fenêtre pop-up suivante, confirmez en appuyant sur le bouton Supprimer.
    Confirmer la suppression des données de sites dans Chrome

Remplacer les paramètres dans une requête d’URL

Bien qu’utiles, les paramètres dans une requête d’URL peuvent rendre l’URL que vous ouvrez si longue que le serveur la refuse et renvoie l’erreur HTTP 431.

Voici un exemple d’URL avec des paramètres de requête pour le domaine votredomaine.com.

https://www.votredomaine.com/?referrer=https%3A%2F%2Fwww.votredomaine.com%2Fsearch%3Fquery%3Dbest%2Brunning%2Bshoes%26category% 3Dfootwear%26brand%3Dnike%26color%3Dblue%26size%3D10%26Price_min%3D50%26Price_max%3D150%26sort%3Dpopularity%26availability%3Din_stock%26user_id%3D12345%26session_id%3Dabc%de12345%26referrer263utm%3Dmsource 26utm_campaign%3Dspring_sale%26utm_content%3Dtop_deals%26tracking_id%3Dxyz789%26affiliate_id%3Dpartner123%26coupon_code%3DSPRING20

Il est évident que l’URL de cet exemple est excessivement longue en raison des nombreux paramètres de la requête. Pour vérifier si la longueur de l’URL est à l’origine de l’erreur HTTP 431, supprimez tous les paramètres à partir du signe « ? » jusqu’à la fin de l’adresse. Ensuite, visitez le site web avec l’adresse du nom de domaine de base votredomaine.com.

Suppression des paramètres de requête d’URL

Si l’erreur affecte votre propre site web et que vous utilisez des URL longues pour le suivi ou l’analyse, il ne s’agit pas d’une solution permanente. Envisagez de raccourcir les URL de suivi/référence sur votre site web pour empêcher les visiteurs de recevoir le code d’erreur HTTP 431 « Request Header Fields Too Large ».

Si votre site web est basé sur WordPress, il est assez facile de raccourcir les adresses URL. Il existe de nombreux plugins offrant cette fonctionnalité, certains d’entre eux incluent URL Shortify, Bitly, etc.

Utilisation de plugins WordPress permettant de raccourcir les paramètres de requête d’URL

Modifiez le code de votre site web

L’étape suivante peut s’avérer plus difficile, mais elle peut être inévitable : examinez le code personnalisé de votre site web. Certaines de ses fonctionnalités peuvent demander aux clients d’afficher des en-têtes de requête plus volumineux, ce qui entraîne le code d’erreur 431.

Voici les points les plus importants à prendre en compte :

1. Limiter l’utilisation des cookies

Limitez le nombre de cookies que votre site installe. Veillez à ce que les cookies ne soient utilisés qu’en cas de nécessité et que leur taille soit réduite au minimum. Envisagez d’utiliser le stockage de session ou le stockage local pour les données qui n’ont pas besoin d’être envoyées à chaque requête.

2. Simplifier des paramètres d’URL

Simplifiez les URL en supprimant les paramètres inutiles. Utilisez des techniques de raccourcissement d’URL ou encodez les paramètres efficacement pour que les URL restent concises.

3. Consolider et minifier les fichiers CSS et JavaScript

Bien que les fichiers CSS et JavaScript n’affectent pas directement la taille des en-têtes, la façon dont ils sont chargés peut l’influencer. La minification de ces fichiers réduit le besoin de multiples requêtes, ce qui peut indirectement réduire la complexité et la taille des en-têtes.

4. Optimiser les informations d’en-tête

Vérifiez les en-têtes envoyés et reçus par votre serveur. Supprimez tous les en-têtes redondants ou inutiles. Assurez-vous que les en-têtes personnalisés sont courts et inclus uniquement lorsque cela est absolument nécessaire. Cela réduit la taille globale de l’en-tête.

5. Implémenter une gestion efficace des sessions

Les sessions peuvent contribuer à la création d’en-têtes volumineux si les identifiants de session sont longs ou nombreux. Utiliser des pratiques de gestion de session efficaces pour conserver des identifiants de session courts et s’assurer que seules les données de session essentielles sont incluses dans les en-têtes.

6. Utiliser la compression pour les en-têtes

La compression Gzip est généralement utilisée pour les corps de réponse, mais certains serveurs prennent également en charge la compression des en-têtes. Vérifiez si votre serveur prend en charge cette fonctionnalité et activez-la pour réduire la taille des en-têtes.

Les compressions Brotli et Gzip sont activées par défaut sur tous les serveurs de SiteGround. Pour plus d’informations, consultez cet article sur les différences entre les compressions Brotli et Gzip.

Réviser et adapter la politique de votre site web en matière de cookies

Les cookies vous permettent d’offrir à chaque visiteur de votre site web un parcours unique et une expérience utilisateur exceptionnelle. Cependant, si elles ne sont pas contrôlées, les politiques en matière de cookies peuvent imposer un trop grand nombre de cookies dans les navigateurs des visiteurs. À terme, cet excès de données de site web peut surcharger leurs en-têtes de requête, entraînant l’erreur HTTP 431.

Lisez attentivement vos politiques en matière de cookies—elles peuvent être facilitées par un code personnalisé ou un plugin (pour WordPress). Envisagez de modifier vos paramètres de cookies pour vous assurer qu’ils génèrent un nombre raisonnable de cookies.

Conclusion

Le code d’état HTTP 431 « Request Header Fields Too Large » est une erreur côté client qui indique que le serveur web n’a pas pu traiter les en-têtes de votre requête en raison de leur taille importante. Cette erreur peut être gênante, mais elle n’est pas insurmontable. Pour y remédier, il faut optimiser le code de votre site web, gérer efficacement les politiques en matière de cookies et nettoyer régulièrement les cookies de votre navigateur.

Partager cet article