Dans une requête HTTP, un serveur envoie les ressources souhaitées à votre navigateur, vous permettant ainsi de voir un certain site web. Si quelque chose ne va pas pendant ce processus, vous pouvez voir un code d’état HTTP comme l’erreur « 411 Length Required ».
Heureusement, vous pouvez facilement corriger l’erreur « 411 Length Required ». Ce code d’état HTTP se produit lorsque le serveur exige un en-tête content-length, mais qu’il n’est pas spécifié dans une requête. Pour résoudre ce problème, vous pouvez simplement définir une longueur de contenu.
Consultez notre guide vidéo sur l’erreur « 411 Longueur nécessaire »
Dans cet article, nous allons expliquer le code d’état « 411 Length Required » et ses causes. Ensuite, nous vous montrerons comment localiser et corriger cette erreur. C’est parti !
Qu’est-ce que l’erreur « 411 Longueur nécessaire » ?
Chaque fois que vous cliquez sur un lien ou que vous recherchez une URL, votre navigateur envoie une requête au serveur du site web. Ensuite, le serveur traite la requête et répond en envoyant les données demandées.
Bien que vous ne le voyiez pas forcément, le serveur envoie également un code d’état dans l’en-tête HTTP. Votre navigateur ne vous informera des codes d’état HTTP que si quelque chose s’est mal passé pendant la requête.
Par exemple, un code d’état HTTP courant est une mauvaise requête 400. Il s’agit d’une erreur générique côté client qui peut se produire lorsque vous saisissez incorrectement une URL.
Les codes d’état HTTP sont regroupés en cinq classes différentes :
- 100s : Réponses informatives
- 200s : Réponses réussies
- 300s : Codes de redirection
- 400s : Codes d’erreur côté client
- 500s : Codes d’erreur côté serveur
Maintenant que vous connaissez les codes d’état HTTP, abordons l’erreur « 411 Length Required ». Comme il s’agit d’une erreur moins courante, vous risquez d’être frustré lorsqu’elle se produit.
Dans une erreur « 411 Length Required », votre requête est rejetée parce qu’il lui manque un en-tête content-length. Si un serveur exige cette information, vous ne pourrez pas accéder au site sans elle.
Quelle est la cause de l’erreur « 411 Length Required » ?
Dans une requête et une réponse HTTP, le client et le serveur peuvent placer des informations supplémentaires dans les en-têtes HTTP. Comme le code d’état « 411 Length Required » est une erreur côté client, cela signifie qu’il y a eu un problème avec l’en-tête de la requête.
Vous pouvez utiliser l’en-tête de requête pour fournir un contexte sur la requête, permettant au serveur d’adapter sa réponse. L’en-tête de requête peut inclure :
- Adresse IP source et numéro de port
- Type de contenu
- Type de navigateur (user-agent)
- URL demandée
Les en-têtes HTTP peuvent également définir la taille du corps de l’entité. En spécifiant la valeur content-length, vous pouvez faire savoir au serveur la taille anticipée de la requête. Celle-ci est identifiée par un nombre décimal d’octets.
Par exemple, vous pouvez afficher la longueur du contenu d’une page web en cliquant avec le bouton droit de la souris sur un élément et en sélectionnant Inspecter. Sous Réseau, vous devriez trouver des informations sur l’en-tête de la requête.
En général, la plupart des requêtes HTTP ont un corps de requête et un en-tête content-length. Toutefois, certains clients choisissent de ne pas définir la longueur du contenu. Cela peut s’avérer utile lors de l’exécution d’un codage de transfert par morceaux.
Parfois, un serveur indique qu’il a besoin d’un en-tête content-length. Lorsque vous recevez un code d’état HTTP « 411 Length Required », vous devrez probablement définir cette valeur pour poursuivre la requête.
Comment localiser l’erreur « 411 Length Required »
Le code d’état « 411 Length Required » étant une erreur côté client, il se peut que vous ne sachiez pas si cela se produit sur votre site web. Heureusement, vous pouvez surveiller les requêtes HTTP de votre site afin de vous assurer que tous les visiteurs peuvent accéder à votre contenu.
Avec un compte d’hébergement Kinsta, vous pouvez vérifier les requêtes HTTP échouées directement depuis votre tableau de bord MyKinsta. Pour ce faire, vous pouvez consulter les journaux de votre site web.
Tout d’abord, ouvrez MyKinsta et connectez-vous. Ensuite, naviguez vers Sites et sélectionnez le site web que vous souhaitez analyser. Vous ne pourrez surveiller les requêtes HTTP que sur votre site web en direct. Veillez donc à ne pas cliquer sur votre environnement local:
Cela vous amènera à la page Info, où vous pourrez voir les détails de base de votre site. Sur le côté gauche, cliquez sur l’onglet Logs:
La visionneuse de journaux sera automatiquement configurée pour afficher les journaux d’erreurs de votre site. À l’aide du menu déroulant, sélectionnez l’option access.log :
Dans le journal d’accès, vous pouvez voir toutes les demandes concernant votre site web. Vous y verrez la date, l’heure, les octets envoyés et l’agent utilisateur. Ici, vous pouvez également voir les codes d’état HTTP pour chaque requête :
Vous verrez un code 200 si tout se déroule correctement. Pour localiser les éventuelles erreurs « 411 Length Required », vous pouvez utiliser la barre de recherche pour trouver un code d’état 411.
Comment corriger l’erreur « 411 Length Required » (4 méthodes)
Bien que vous puissiez suivre les codes d’état « 411 Length Required » en utilisant les journaux de votre site web, n’oubliez pas qu’il s’agit d’un problème côté client.
Cela signifie que, comme tous les codes d’état HTTP 400, l’erreur est causée par des paramètres incorrects du côté de l’utilisateur. Pour résoudre ce problème, vous devez modifier la requête HTTP. Examinons quatre façons de le faire.
1. Vérifiez l’URL demandée
Tout d’abord, vous pouvez essayer quelques méthodes générales pour corriger les codes d’état 400 HTTP. Puisque l’erreur « 411 Length Required » est un problème côté client, vous pouvez revoir les informations de votre requête. Vous pourrez ainsi vous assurer que le navigateur les comprend.
Lorsque vous réparez un code d’état 400, il est bon de revoir l’URL demandée. Si vous avez saisi manuellement une URL pour atteindre un site web, l’adresse peut comporter une faute de frappe. Pour vérifier si c’est là le problème, essayez de ressaisir l’adresse.
Si vous êtes sûr que l’URL est correcte mais que l’erreur persiste, vous pouvez la saisir dans un moteur de recherche avec un mot clé. Par exemple, vous pouvez trouver l’article de Kinsta sur l’accélération d’une boutique WooCommerce en recherchant « site:kinsta.com speed up WooCommerce » :
Étant donné que l’erreur « 411 Length Required » est un problème côté client, c’est une mesure de base que vous pouvez prendre. Cependant, gardez à l’esprit que cela peut ne pas résoudre ce code d’état spécifique. Pour cela, vous devrez probablement définir un en-tête content-length.
2. Définir un en-tête content-length
Si vous recevez le code d’état « 411 Length Required », la façon la plus directe de résoudre ce problème est de définir un en-tête content-length. Comme le serveur note que la longueur du contenu est nécessaire pour répondre à la requête, il est important de l’inclure.
Par exemple, si vous envoyez une requête POST à exemple.com, elle peut ressembler à quelque chose comme ceci :
curl --verbose -X POST https://exemple.com
Si vous recevez un code d’état « 411 Length Required », vous devez ajouter un en-tête content-length. Cette valeur correspond au nombre d’octets de la requête. Ces octets sont représentés par deux chiffres hexadécimaux, vous pouvez donc diviser le nombre de chiffres par deux pour déterminer la longueur du contenu.
Par exemple, « 48656c6c6f21 » comporte 12 chiffres hexadécimaux. Pour convertir cette valeur en octets, vous pouvez la diviser par deux, ce qui donnerait une longueur de contenu de 6 octets.
Voici à quoi peut ressembler une longueur de contenu de 6 octets dans une requête :
curl --verbose -X POST -H 'Content-Length: 6' https://example.com
La définition de la longueur du contenu supprimera probablement le message d’erreur « 411 Length Required » et renverra un code d’état HTTP 200. Essentiellement, cela signifie que la requête a été traitée correctement.
3. Vider le cache de votre navigateur
Souvent, déterminer un en-tête de longueur de contenu est tout ce que vous devez faire pour résoudre l’erreur « 411 Length Required ». Toutefois, si vous recevez toujours ce code d’état, vous pouvez prendre quelques mesures supplémentaires.
Lorsque vous accédez pour la première fois à un site web, votre navigateur stocke certaines données. Même après avoir défini un en-tête content-length, cela peut provoquer l’apparition de l’erreur « 411 Length Required ». Pour supprimer ce message, essayez de vider le cache de votre navigateur.
Si vous utilisez Google Chrome, cliquez sur l’icône à trois points dans le coin supérieur droit. Ensuite, sélectionnez Plus d’outils > Effacer les données de navigation… :
Cela ouvrira une fenêtre contextuelle que vous pouvez utiliser pour gérer l’historique de navigation, les cookies et les données mises en cache. Veillez à sélectionner Images et fichiers en cache, ainsi que toute autre information que vous souhaitez effacer. Enfin, cliquez sur Effacer les données:
Pour les utilisateurs de Safari, vous pouvez naviguer vers Safari dans votre barre d’outils. Ici, sélectionnez Effacer l’historique:
Ensuite, vous pouvez choisir d’effacer tout votre historique de navigation, les données de la dernière heure ou des derniers jours. Lorsque vous avez terminé, cliquez sur Effacer l’historique:
Si vous voulez vider le cache sur Mozilla Firefox, trouvez l’icône hamburger dans le coin supérieur droit. Ensuite, sélectionnez l’option Historique:
Sur la page suivante, allez jusqu’à l’option Effacer l’historique récent:
Veillez à sélectionner Cache et toute autre donnée que vous souhaitez effacer. Après cela, cliquez sur OK:
Vous pouvez maintenant réessayer votre requête HTTP pour voir si cela a résolu l’erreur « 411 Length Required » !
4. Désinstallez les mises à jour ou les extensions récentes
Une autre façon de résoudre l’erreur « 411 Length Required » est de désactiver les extensions du navigateur. Occasionnellement, certaines extensions peuvent interférer avec votre navigateur, le rendant incapable d’interpréter les requêtes. Si vous avez installé une extension récemment, vous pouvez envisager de la supprimer.
Si vous utilisez Google Chrome, ce processus sera similaire à l’effacement du cache de votre navigateur. Tout d’abord, trouvez l’icône de menu et sélectionnez Plus d’outils > Extensions:
Dans votre liste d’extensions, trouvez celle que vous voulez supprimer. Vous pouvez soit les supprimer complètement, soit les désactiver simplement à l’aide du bouton :
De même, les nouvelles mises à jour logicielles peuvent provoquer des codes d’erreur HTTP. Pour désinstaller une mise à jour récente de Windows, vous pouvez naviguer dans l’onglet Windows Update sous Mise à jour et sécurité dans votre application.
Si vous avez un système d’exploitation macOS, ce processus est beaucoup plus compliqué. Pour annuler une mise à jour, vous devez disposer d’une sauvegarde Time Machine d’avant la mise à jour. Ensuite, vous pouvez restaurer les données à partir de la sauvegarde.
Gardez à l’esprit que cette méthode ne doit être utilisée qu’en dernier recours, après avoir essayé d’autres solutions. Puisque vous revenez à une version antérieure du logiciel, vous perdrez probablement des fonctionnalités importantes et des corrections de bogues.
Résumé
Il peut être frustrant lorsqu’un serveur refuse votre requête HTTP en affichant une erreur « 411 Length Required ». Sans spécifier un en-tête content-length, vous ne pourrez peut-être pas tirer d’informations du serveur. Cependant, il existe quelques moyens de résoudre ce problème.
Pour récapituler, voici comment vous pouvez corriger l’erreur « 411 Length Required » :
- Vérifiez l’URL demandée.
- Définissez un en-tête content-length.
- Videz le cache de votre navigateur.
- Désinstallez les mises à jour ou les extensions récentes.
Pour vous assurer que chaque visiteur peut accéder à votre site, vous pouvez activer la surveillance des performances. Avec un plan d’hébergement Kinsta, vous obtenez l’un des meilleurs outils APM du marché. En utilisant notre tableau de bord APM, vous pouvez examiner les requêtes externes et résoudre immédiatement les erreurs HTTP !