Un guide complet et une liste des codes d'état HTTP
Publié: 2020-02-24Les codes d'état HTTP sont comme de courtes notes d'un serveur qui sont collées sur une page Web. Ils ne font pas réellement partie du contenu du site. Au lieu de cela, ce sont des messages du serveur vous permettant de savoir comment les choses se sont passées lorsqu'il a reçu la demande d'affichage d'une certaine page.
Ces types de messages sont renvoyés chaque fois que votre navigateur interagit avec un serveur, même si vous ne les voyez pas. Si vous êtes propriétaire ou développeur de site Web, il est essentiel de comprendre les codes d'état HT TP . Lorsqu'ils apparaissent, les codes d'état HTTP sont un outil inestimable pour diagnostiquer et corriger les erreurs de configuration du site Web.
Cet article présente plusieurs codes d'état et d'erreur du serveur, et explique ce qu'ils révèlent sur ce qui se passe sur le serveur dans les coulisses.
Plongeons-nous !
Vous préférez regarder la version vidéo ?
Que sont les codes d'état HTTP ?
Chaque fois que vous cliquez sur un lien ou tapez une URL et appuyez sur Entrée , votre navigateur envoie une requête au serveur Web du site auquel vous essayez d'accéder. Le serveur reçoit et traite la demande, puis renvoie les ressources pertinentes avec un en-tête HTTP.
Les codes d'état HTTP sont fournis à votre navigateur dans l'en-tête HTTP. Bien que les codes d'état soient renvoyés chaque fois que votre navigateur demande une page Web ou une ressource, la plupart du temps, vous ne les voyez pas.
Ce n'est généralement qu'en cas de problème que vous pouvez en voir un affiché dans votre navigateur. C'est la manière du serveur de dire : « Quelque chose ne va pas. Voici un code qui explique ce qui n'a pas fonctionné.

Si vous voulez voir les codes d'état que votre navigateur ne vous montre pas normalement, il existe de nombreux outils différents qui vous facilitent la tâche. Des extensions de navigateur sont disponibles pour les plates-formes conviviales pour les développeurs telles que Chrome et Firefox, et il existe de nombreux outils de récupération d'en-tête basés sur le Web, tels que Web Sniffer.
Pour voir les codes d'état HTTP avec l'un de ces outils, recherchez la ligne apparaissant en haut du rapport qui indique "Statut : HTTP/1.1". Il sera suivi du code d'état qui a été renvoyé par le serveur.
Présentation des classes de code d'état HTTP
Les codes d'état HTTP sont divisés en 5 "classes". Il s'agit de regroupements de réponses qui ont des significations similaires ou connexes. Savoir ce qu'ils sont peut vous aider à déterminer rapidement la substance générale d'un code d'état avant de rechercher sa signification spécifique.
Les cinq classes comprennent:
- 100s : Codes informatifs indiquant que la requête initiée par le navigateur se poursuit.
- 200s : codes de réussite renvoyés lorsque la demande du navigateur a été reçue, comprise et traitée par le serveur.
- 300s : codes de redirection renvoyés lorsqu'une nouvelle ressource a été substituée à la ressource demandée.
- 400 : codes d'erreur client indiquant qu'il y a eu un problème avec la demande.
- 500s : codes d'erreur du serveur indiquant que la demande a été acceptée, mais qu'une erreur sur le serveur a empêché l'exécution de la demande.
Au sein de chacune de ces classes, une variété de codes de serveur existent et peuvent être renvoyés par le serveur. Chaque code individuel a une signification spécifique et unique, que nous couvrirons dans la liste plus complète ci-dessous.
Pourquoi les codes d'état HTTP et les erreurs sont importants pour l'optimisation des moteurs de recherche (SEO)
Les robots des moteurs de recherche voient les codes d'état HTTP lorsqu'ils parcourent votre site. Dans certains cas, ces messages peuvent influencer si et comment vos pages sont indexées, ainsi que la façon dont les moteurs de recherche perçoivent la santé de votre site.
De manière générale, les codes de statut HTTP de niveau 100 et 200 n'auront pas beaucoup d'impact sur votre référencement. Ils signalent que tout fonctionne comme il se doit sur votre site et permettent aux robots des moteurs de recherche de poursuivre leur chemin. Cependant, ils ne vont pas non plus améliorer votre classement.
Pour la plupart, ce sont les codes de niveau supérieur qui comptent pour le référencement. Les réponses de niveau 400 et 500 peuvent empêcher les robots d'explorer et d'indexer vos pages. Un trop grand nombre de ces erreurs peut également indiquer que votre site n'est pas de haute qualité, ce qui peut entraîner une baisse de votre classement.
Les codes de niveau 300 ont une relation un peu plus compliquée avec le référencement. La principale chose que vous devez savoir pour comprendre leur impact est la différence entre les redirections permanentes et temporaires, que nous aborderons plus en détail dans la section correspondante ci-dessous.
En un mot, cependant, les redirections permanentes partagent l'équité des liens des backlinks, mais pas les temporaires. En d'autres termes, lorsque vous utilisez des redirections temporaires pour des pages qui ont été déplacées, vous perdez l'avantage SEO de toute la création de liens que vous avez effectuée.
Vérification des codes d'état HTTP dans Google Search Console
Une façon de surveiller la façon dont Google perçoit les codes d'état HTTP sur votre site consiste à utiliser Google Search Console. Vous pouvez afficher les codes d'état de niveau 300, 400 et 500 dans le rapport Couverture :

Cette zone de votre tableau de bord affiche quatre types de contenu sur votre site :
- Pages qui renvoient des erreurs.
- Pages valides contenant des avertissements.
- Des ressources valides.
- Contenu exclu de l'index.
Vous pouvez trouver des pages avec des codes d'état HTTP de niveau 300, 400 et 500 sous les sections Exclu , Erreur ou Valide avec avertissements , selon le type de code. Par exemple, les redirections 301 peuvent être listées sous Exclus en tant que Page avec redirection :

Les codes d'état de niveau 400 et 500 apparaîtront probablement sous Erreur .
Une autre façon d'afficher les codes d'état HTTP consiste à utiliser l'outil d' inspection d'URL . Si Google ne parvient pas à indexer une page spécifique en raison d'une erreur, vous le verrez ici :

Pour plus de conseils sur l'utilisation de Google Search Console, consultez notre guide complet de la plateforme.
Un guide complet et une liste des codes d'état HTTP
Bien qu'il existe plus de 40 codes d'état de serveur différents, vous en rencontrerez probablement moins d'une douzaine régulièrement. Ci-dessous, nous avons couvert les plus courants, ainsi que quelques-uns des codes les plus obscurs que vous pouvez encore rencontrer.
Perplexe face à un code d'état HTTP ? Nos experts WordPress sont là. Essayez Kinsta gratuitement.
100 codes d'état
Un code d'état de niveau 100 vous indique que la demande que vous avez faite au serveur est toujours en cours pour une raison quelconque. Ce n'est pas nécessairement un problème, c'est juste des informations supplémentaires pour vous faire savoir ce qui se passe.
- 100 : « Continuer ». Cela signifie que le serveur en question a reçu les en-têtes de requête de votre navigateur et qu'il est maintenant prêt à recevoir également le corps de la requête. Cela rend le processus de requête plus efficace car il empêche le navigateur d'envoyer une requête de corps même si les en-têtes ont été rejetés.
- 101 : "Changer de protocole". Votre navigateur a demandé au serveur de modifier les protocoles, et le serveur s'est conformé.
- 103: "Premiers indices." Cela renvoie certains en-têtes de réponse avant que le reste de la réponse du serveur ne soit prêt.
200 codes d'état
C'est le meilleur type de code d'état HTTP à recevoir. Une réponse de niveau 200 signifie que tout fonctionne exactement comme il se doit.
- 200 : "Tout va bien." Il s'agit du code fourni lorsqu'une page Web ou une ressource agit exactement comme prévu.
- 201 : "Créé". Le serveur a répondu à la demande du navigateur et, par conséquent, a créé une nouvelle ressource.
- 202 : « Accepté ». Le serveur a accepté la requête de votre navigateur mais est toujours en train de la traiter. La demande peut finalement aboutir ou non à une réponse complète.
- 203 : « Informations ne faisant pas autorité ». Ce code d'état peut apparaître lorsqu'un proxy est en cours d'utilisation. Cela signifie que le serveur proxy a reçu un code d'état 200 "Tout est OK" du serveur d'origine, mais a modifié la réponse avant de la transmettre à votre navigateur.
- 204 : "Pas de contenu". Ce code signifie que le serveur a traité la demande avec succès, mais qu'il ne renverra aucun contenu.
- 205 : "Réinitialiser le contenu". Comme un code 204, cela signifie que le serveur a traité la demande mais ne renverra aucun contenu. Cependant, cela nécessite également que votre navigateur réinitialise la vue du document.
- 206 : « Contenu partiel ». Vous pouvez voir ce code d'état si votre client HTTP (également appelé votre navigateur) utilise des "en-têtes de plage". Cela permet à votre navigateur de reprendre les téléchargements suspendus, ainsi que de diviser un téléchargement en plusieurs flux. Un code 206 est envoyé lorsqu'un en-tête de plage amène le serveur à n'envoyer qu'une partie de la ressource demandée.
300 codes d'état
La redirection est le processus utilisé pour communiquer qu'une ressource a été déplacée vers un nouvel emplacement. Il existe plusieurs codes d'état HTTP qui accompagnent les redirections, afin de fournir aux visiteurs des informations sur l'endroit où trouver le contenu qu'ils recherchent.
- 300 : "Choix multiples". Parfois, il peut y avoir plusieurs ressources possibles avec lesquelles le serveur peut répondre pour répondre à la demande de votre navigateur. Un code d'état 300 signifie que votre navigateur doit maintenant choisir entre eux. Cela peut se produire lorsque plusieurs extensions de type de fichier sont disponibles ou si le serveur rencontre une désambiguïsation du sens des mots.
- 301 : "La ressource demandée a été déplacée définitivement." Ce code est délivré lorsqu'une page Web ou une ressource a été définitivement remplacée par une autre ressource. Il est utilisé pour la redirection d'URL permanente.
- 302 : "La ressource demandée a été déplacée, mais a été trouvée." Ce code est utilisé pour indiquer que la ressource demandée a été trouvée, mais pas à l'endroit où elle était attendue. Il est utilisé pour la redirection d'URL temporaire.
- 303 : « Voir autre ». Pour comprendre un code d'état 303, vous devez connaître la différence entre les quatre méthodes de requête HTTP principales. Essentiellement, un code 303 indique à votre navigateur qu'il a trouvé la ressource demandée par votre navigateur via POST, PUT ou DELETE. Cependant, pour le récupérer à l'aide de GET, vous devez effectuer la requête appropriée vers une URL différente de celle que vous avez utilisée précédemment.
- 304 : "La ressource demandée n'a pas été modifiée depuis la dernière fois que vous y avez accédé." Ce code indique au navigateur que les ressources stockées dans le cache du navigateur n'ont pas changé. Il est utilisé pour accélérer la livraison des pages Web en réutilisant les ressources précédemment téléchargées.
- 307 : "Redirection temporaire". Ce code d'état a remplacé 302 "Trouvé" comme action appropriée lorsqu'une ressource a été temporairement déplacée vers une URL différente. Contrairement au code d'état 302, il ne permet pas de modifier la méthode HTTP.
- 308 : "Redirection permanente". Le code d'état 308 est le successeur du code 301 "Moved Permanently". Il n'autorise pas la modification de la méthode HTTP et indique que la ressource demandée se trouve désormais en permanence sur une nouvelle URL.
400 codes d'état
Au niveau 400, les codes d'état HTTP commencent à devenir problématiques. Ce sont des codes d'erreur indiquant qu'il y a un problème avec votre navigateur et/ou votre requête.

- 400 : "Mauvaise demande". Le serveur ne peut pas renvoyer de réponse en raison d'une erreur côté client. Consultez notre guide pour résoudre cette erreur.
- 401 : "Non autorisé" ou "Autorisation requise". Ceci est renvoyé par le serveur lorsque la ressource cible ne dispose pas d'identifiants d'authentification valides. Vous pouvez voir cela si vous avez configuré l'authentification HTTP de base à l'aide de htpasswd.

- 402 : "Paiement requis". À l'origine, ce code a été créé pour être utilisé dans le cadre d'un système de paiement numérique. Cependant, ce plan n'a jamais abouti. Au lieu de cela, il est utilisé par diverses plates-formes pour indiquer qu'une demande ne peut pas être satisfaite, généralement en raison d'un manque de fonds requis. Les exemples courants incluent :
- Vous avez atteint votre limite quotidienne de demandes à l'API Google Developers.
- Vous n'avez pas payé vos frais Shopify et votre boutique a été temporairement désactivée.
- Votre paiement via Stripe a échoué ou Stripe essaie d'empêcher un paiement frauduleux.
- 403 : "L'accès à cette ressource est interdit." Ce code est renvoyé lorsqu'un utilisateur tente d'accéder à quelque chose qu'il n'est pas autorisé à afficher. Par exemple, essayer d'accéder à un contenu protégé par mot de passe sans se connecter peut produire une erreur 403.
- 404 : "La ressource demandée est introuvable." C'est le message d'erreur le plus courant de tous. Ce code signifie que la ressource demandée n'existe pas, et le serveur ne sait pas si elle a jamais existé.
- 405 : "Méthode non autorisée." Ceci est généré lorsque le serveur d'hébergement (serveur d'origine) prend en charge la méthode reçue, mais pas la ressource cible.
- 406 : "Réponse non acceptable." La ressource demandée est capable de générer uniquement du contenu qui n'est pas acceptable selon les en-têtes d'acceptation envoyés dans la demande.
- 407 : "Authentification proxy requise." Un serveur proxy est en cours d'utilisation et nécessite que votre navigateur s'authentifie avant de continuer.
- 408 : "Le serveur a expiré en attendant le reste de la requête du navigateur." Ce code est généré lorsqu'un serveur expire en attendant la requête complète du navigateur. En d'autres termes, le serveur n'a pas reçu la demande complète envoyée par le navigateur. Une cause possible pourrait être la congestion du réseau entraînant la perte de paquets de données entre le navigateur et le serveur.
- 409 : « Conflit ». Un code d'état 409 signifie que le serveur n'a pas pu traiter la demande de votre navigateur car il y a un conflit avec la ressource concernée. Cela se produit parfois en raison de plusieurs modifications simultanées.
- 410 : "La ressource demandée a disparu et ne reviendra pas." Ceci est similaire à un code 404 "Not Found", sauf qu'un 410 indique que la condition est attendue et permanente.
- 411 : "Longueur requise." Cela signifie que la ressource demandée nécessite que le client spécifie une certaine longueur et qu'il ne l'a pas fait.
- 412 : "Échec de la précondition." Votre navigateur a inclus certaines conditions dans ses en-têtes de requête et le serveur ne répondait pas à ces spécifications.
- 413 : "Charge utile trop grande" ou "Entité de demande trop grande". Votre demande est plus importante que ce que le serveur est disposé ou capable de traiter.
- 414 : "URI trop long". C'est généralement le résultat d'une requête GET qui a été encodée sous la forme d'une chaîne de requête trop volumineuse pour être traitée par le serveur.
- 415 : "Type de support non pris en charge". La demande inclut un type de média que le serveur ou la ressource ne prend pas en charge.
- 416 : "Plage non satisfaisante." Votre demande concernait une partie d'une ressource que le serveur n'est pas en mesure de restituer.
- 417 : « Échec de l'attente. » Le serveur ne peut pas répondre aux exigences spécifiées dans le champ d'en-tête expect de la demande.
- 418 : "Je suis une théière." Ce code est renvoyé par les théières qui reçoivent des demandes de préparation de café. C'est aussi une blague du poisson d'avril de 1998.

- 422 : "Entité non traitable". La demande du client contient des erreurs sémantiques et le serveur ne peut pas la traiter.
- 425 : "Trop tôt". Ce code est envoyé lorsque le serveur ne veut pas traiter une requête car elle peut être rejouée.
- 426 : "Mise à niveau requise". En raison du contenu du champ d'en-tête de mise à niveau de la demande, le client doit passer à un protocole différent.
- 428 : « Condition préalable requise ». Le serveur exige que des conditions soient spécifiées avant de traiter la demande.
- 429 : "Trop de demandes." Ceci est généré par le serveur lorsque l'utilisateur a envoyé trop de requêtes dans un laps de temps donné (rate-limiting). Cela peut parfois se produire en raison de robots ou de scripts qui tentent d'accéder à votre site. Dans ce cas, vous voudrez peut-être essayer de changer votre URL de connexion WordPress. Vous pouvez également consulter notre guide pour corriger une erreur 429 "Trop de demandes".

- 431 : "Champs d'en-tête de demande trop volumineux." Le serveur ne peut pas traiter la demande car les champs d'en-tête sont trop volumineux. Cela peut indiquer un problème avec un seul champ d'en-tête, ou tous collectivement.
- 451 : « Indisponible pour des raisons juridiques ». L'opérateur du serveur a reçu une demande d'interdiction d'accès à la ressource que vous avez demandée (ou à un ensemble de ressources incluant celle que vous avez demandée). Fait amusant : ce code fait référence au roman Fahrenheit 451 de Ray Bradbury .
- 499 : « Demande fermée par le client ». Ceci est renvoyé par NGINX lorsque le client ferme la demande alors que Nginx est toujours en train de la traiter.
Perplexe face à un code d'état HTTP ? Nos experts WordPress sont là. Essayez Kinsta gratuitement.
500 codes d'état
Les codes d'état de niveau 500 sont également considérés comme des erreurs. Cependant, ils indiquent que le problème se situe du côté du serveur. Cela peut les rendre plus difficiles à résoudre.
- 500 : "Il y a eu une erreur sur le serveur et la requête n'a pas pu être complétée." Il s'agit d'un code générique qui signifie simplement "erreur interne du serveur". Quelque chose s'est mal passé sur le serveur et la ressource demandée n'a pas été livrée. Ce code est généralement généré par des plugins tiers, un PHP défectueux ou même la connexion à la base de données est interrompue. Consultez nos didacticiels sur la façon de corriger l'erreur d'établissement d'une connexion à la base de données et d'autres façons de résoudre une erreur de serveur interne 500.

- 501 : "Non mis en œuvre". Cette erreur indique que le serveur ne prend pas en charge la fonctionnalité requise pour répondre à la demande. Il s'agit presque toujours d'un problème sur le serveur Web lui-même et doit généralement être résolu par l'hôte. Consultez nos recommandations sur la façon de résoudre une erreur 501 non implémentée.
- 502 : "Mauvaise passerelle". Ce code d'erreur signifie généralement qu'un serveur a reçu une réponse non valide d'un autre, par exemple lorsqu'un serveur proxy est utilisé. D'autres fois, une requête ou une demande prendra trop de temps, et donc elle est annulée ou tuée par le serveur et la connexion à la base de données est interrompue. Pour plus de détails, consultez notre tutoriel détaillé sur la façon de corriger l'erreur 502 Bad Gateway.
- 503 : "Le serveur n'est pas disponible pour traiter cette demande pour le moment." La demande ne peut pas être complétée à ce stade. Ce code peut être renvoyé par un serveur surchargé incapable de gérer des requêtes supplémentaires. Nous avons un guide complet sur la façon de corriger l'erreur 503 Service non disponible.
- 504 : "Le serveur, agissant comme une passerelle, a expiré en attendant qu'un autre serveur réponde." Il s'agit du code renvoyé lorsque deux serveurs sont impliqués dans le traitement d'une demande et que le premier serveur expire en attendant que le second serveur réponde. Vous pouvez en savoir plus sur la façon de corriger les erreurs 504 dans notre guide dédié.
- 505 : "Version HTTP non prise en charge". Le serveur ne prend pas en charge la version HTTP utilisée par le client pour effectuer la demande.
- 508 : « La limite de ressources est atteinte » les limites de ressources définies par votre hébergeur ont été atteintes. Consultez notre tutoriel sur la façon de résoudre l'erreur "508 Resource Limit Is Reached".
- 511 : "Authentification réseau requise". Ce code d'état est envoyé lorsque le réseau que vous essayez d'utiliser nécessite une forme d'authentification avant d'envoyer votre demande au serveur. Par exemple, vous devrez peut-être accepter les conditions générales d'un point d'accès Wi-Fi public.
- 521 : "Le serveur Web est en panne." L'erreur 521 est un message d'erreur spécifique à Cloudflare. Cela signifie que votre navigateur Web a réussi à se connecter à Cloudflare, mais que Cloudflare n'a pas pu se connecter au serveur Web d'origine.
- 525 : "Échec de la prise de contact SSL". L'erreur 525 signifie que la poignée de main SSL entre un domaine utilisant Cloudflare et le serveur Web d'origine a échoué. Si vous rencontrez des problèmes, vous pouvez essayer cinq méthodes pour corriger facilement l'erreur 525.
Où en savoir plus sur les codes d'état HTTP
En plus des codes d'état HTTP que nous avons couverts dans cette liste, il y en a d'autres plus obscurs que vous voudrez peut-être découvrir. Il existe plusieurs ressources que vous pouvez consulter pour en savoir plus sur ces codes plus rares, notamment :
- Cette liste complète des codes d'état HTTP de Wikipedia.
- Définitions des codes d'état de l'Internet Engineering Task Force (IETF).
- RFC 7231.
Connaître ces codes d'état peut vous aider à résoudre certains problèmes uniques lors de la maintenance de votre propre site Web, ou même lorsque vous les rencontrez sur d'autres sites.
Résumé
Bien qu'ils puissent sembler déroutants ou intimidants à première vue, les codes d'état HTTP sont en fait très informatifs. En apprenant certains des plus courants, vous pouvez résoudre plus rapidement les problèmes sur votre site.
Dans cet article, nous avons défini plus de 40 codes d'état HTTP que vous pouvez rencontrer. Des codes de niveau 100 et 200 plus légers aux erreurs de niveau 400 et 500 plus délicates, donner un sens à ces messages est crucial pour maintenir votre site Web et s'assurer qu'il est accessible aux utilisateurs.