Quand vous naviguez sur le web, chacun de vos clic engendre une requête web. Celle-ci est adressé par votre navigateur au serveur hébergeant le contenu auquel vous désirez accéder. Ces requêtes obtiennent toujours comme réponse des codes d’état HTTP, indiquant si la requête a pu être traitée ou pas, et pour quelles raisons.
Parmi ces codes, certains vous seront sans doute plus familiers que d’autres. Les codes 403, 404, 503 et 504 sont sans doute ceux que les internautes voient le plus souvent affichés. C’est dû au fait qu’ils indiquent des erreurs courantes de chargement, et que le contenu désiré n’a pu être chargé avec succès.
Il existe toutefois une multitude d’autre codes d’état HTTP, qui ne s’affichent pas. C’est notamment le cas des codes associés à des requêtes HTTP ayant obtenu réponse avec succès.
Un code d’état HTTP (Hypertext Transfer Protocol) est émis par un serveur en réponse à une demande du client faite au serveur. Par conséquent, le code d’état HTTP devient une partie de la réponse HTTP. En conséquence, il indique l’état de la requête.
Les codes de statut HTTP sont classés en cinq catégories différentes. Le système de classification n’est pas trop compliqué. Chaque catégorie indique un type de message différent concernant la demande.
Que sont les codes d’état HTTP ?
Les codes de statut HTTP sont des codes numériques à trois chiffres émis par un serveur en réponse à une requête du navigateur.
Lorsque vous cliquez sur un lien ou tapez une URL dans la barre d’adresse d’un navigateur web, le navigateur envoie votre requête au serveur web auquel vous essayez d’accéder.
Le serveur reçoit alors la requête, la traite et renvoie finalement la ressource demandée, ainsi qu’un en-tête HTTP.
Des codes d’état sont fournis chaque fois que votre navigateur demande une page web ou une ressource. La majorité du temps, vous ne les voyez toutefois pas.
Les seuls moments où vous verrez les codes dans votre navigateur est lorsque quelque chose a mal tourné. En quelque sorte, le serveur vous annonce : « Quelque chose ne va pas. Voici un code pour expliquer ce qui n’a pas fonctionné ».
Il existe de nombreuses façons d’accéder aux codes de statut que votre navigateur n’affiche pas. Par exemple, divers modules complémentaires pour les navigateurs comme Chrome et Firefox. Il existe également de nombreux utilitaires basés sur le web.
Pour voir les codes d’état HTTP avec l’un de ces outils, recherchez la ligne qui apparaît en haut du rapport et qui indique « Status : HTTP 1.1 ». Cette ligne sera suivie par le code d’état qui a été renvoyé par le serveur.
Liste des codes d’état HTTP
1xx – Réponses informationnelles
La première séries de codes d’état HTTP inclus les numéros allant de 100 à 199. Ceux-ci servent unique à transmettre certaines informations.
| CODE D’ÉTAT | SIGNIFICATION |
| 100 | Continuer |
| 101 | Protocoles de commutation |
| 102 | Traitement |
| 103 | Premiers indices |
2xx – Réponses réussies
Les codes allant de 200 à 299 indique que la requête a été résolu avec succès.
| CODE DE STATUT | SIGNIFICATION |
| 200 | OK |
| 201 | Créé |
| 202 | Accepté |
| 203 | Informations ne faisant pas autorité |
| 204 | Pas de contenu |
| 205 | Réinitialiser le contenu |
| 206 | Contenu partiel |
| 207 | Multi-statut |
| 208 | Déjà signalé |
| 226 | IM Utilisé |
3xx – Redirection
Les codes allant de 300 à 399 signifie que différentes redirection doivent être appliquées pour résoudre la requête.
| CODE DE STATUT | SIGNIFICATION |
| 300 | Choix multiples |
| 301 | Déplacé de manière permanente |
| 302 | Trouvé, déplacé de manière temporaire |
| 303 | Voir autre |
| 304 | Non modifié |
| 305 | Utiliser un proxy |
| 307 | Redirection temporaire |
| 308 | Redirection permanente |
4xx – Erreur serveur
Les codes d’état de 400 à 499 indiquent que la requête a échoué, car elle n’était pas valide.
| CODE DE STATUT | SIGNIFICATION |
| 400 | Mauvaise requête |
| 401 | Non autorisé |
| 402 | Paiement requis |
| 403 | Interdit |
| 404 | Introuvable |
| 405 | Méthode non autorisée |
| 406 | Requête inacceptable |
| 407 | Authentification proxy requise |
| 408 | Demander un délai d’attente |
| 409 | Conflit |
| 410 | Le contenu demandé n’est plus là |
| 411 | Longueur requise |
| 412 | Échec de la précondition |
| 413 | Charge utile trop importante |
| 414 | URI Trop long |
| 415 | Type de média non pris en charge |
| 416 | Plage non satisfaisant |
| 417 | Attente échouée |
| 418 | Je suis une théière! (réponse humoristique) |
| 421 | Demande mal dirigée |
| 422 | Entité non traitable |
| 423 | Verrouillé |
| 424 | Recours à une dépendance échoué |
| 425 | Trop tôt |
| 426 | Mise à niveau requise |
| 429 | Trop de requêtes |
| 431 | Champs d’en-tête de demande trop grands |
| 451 | Indisponible pour des raisons juridiques |
5xx – Erreur du serveur
Les codes de 500 à 599 indiquent également des erreurs, mais ayant lieu au niveau du serveur.
| CODE DE STATUT | SIGNIFICATION |
| 500 | Erreur de serveur interne |
| 501 | Non mis en œuvre |
| 502 | Mauvais point d’accès |
| 503 | Service indisponible |
| 504 | Délai d’attente de la passerelle |
| 505 | Version HTTP non prise en charge |
| 506 | Variant négocie aussi |
| 507 | Stockage insuffisant |
| 508 | Boucle détectée |
| 510 | Non étendu |
| 511 | Authentification réseau requise |
Types de codes d’état HTTP :
Voyons maintenant un peu plus en détails chacune de ces différentes catégories de codes HTTP.
- 1xx – Réponse informationnelle : Le serveur a reçu la demande, et le processus continue.
- 2xx – Réponse réussie : Le serveur reçoit, comprend et accepte la demande.
- 3xx – Redirection : Le serveur nécessite une action supplémentaire pour répondre à la demande.
- 4xx – Erreurs du client : La requête pose problème. Elle peut avoir une mauvaise syntaxe ou un autre élément problématique l’empêchant d’être satisfaite.
- 5xx – Erreurs de serveur : Le serveur n’a pas réussi à répondre à une demande valide dû à un problème au niveau du serveur.
1xx – Codes d’état HTTP informationnelles
Ces codes indiquent que le serveur a reçu la demande et poursuit le processus. Les applications web modernes les utilisent rarement.
- 100 Continuer : Le serveur a reçu l’en-tête de la demande et le client doit procéder à l’envoi du corps de la demande.
- 101 Protocoles de commutation : Ce code d’état indique que le serveur passe à un protocole différent comme demandé par le client. Par exemple, cela peut impliquer de passer de HTTP/1.1 à HTTP/2.
- 101 Protocoles de commutation : Ce code d’état indique que le serveur passe à un protocole différent comme demandé par le client. Par exemple, cela peut impliquer de passer de HTTP/1.1 à HTTP/2
- 102 Traitement : Ce code d’état indique que le serveur a reçu la demande et qu’il est en train de la traiter. Cependant, aucune réponse n’est encore disponible. WebDAV l’utilise couramment.
2xx – Réponses réussies
Ces codes d’état illustrent que le serveur a traité la demande avec succès.
- 200 OK : La requête a réussi, et le serveur a renvoyé les données demandées.
- 201 Créé : Ce code d’état indique que la requête a réussi. Par conséquent, le serveur a créé une nouvelle ressource tel que demandé.
- 202 Accepté : Ce code de statut indique que le serveur a accepté la demande pour traitement. Cependant, il n’a pas encore agi sur la demande.
- 203 Informations non autorisées : Ce code d’état indique que le serveur a traité la demande avec succès. Les informations peuvent toutefois provenir d’une copie en cache.
- 204 Pas de contenu : Ce code d’état indique que la demande a été réussie, mais qu’il n’y a aucun contenu à retourner.
- 205 Réinitialiser le contenu : Le serveur a traité la demande avec succès. Le client doit toutefois réinitialiser l’affichage du document.
- 206 Contenu partiel : Le serveur fournit une partie de la ressource comme demandé par le client en utilisant la plage.
- 207 Multi-Status : Ce code d’état est utilisé dans WebDAV lorsque le serveur veut renvoyer plusieurs codes d’état pour différentes opérations. Il permet alors au serveur de communiquer le statut de chaque opération séparément.
- 208 Déjà signalé : Les membres d’une liaison DAV et sont déjà listés dans une réponse précédente.
- 226 IM Utilisé : Le serveur a rempli une demande pour la ressource, et la réponse est une manipulation d’instance.
3xx – Redirection
Ces codes d’état indiquent que le client doit prendre des mesures supplémentaires pour compléter la demande.
- 300 Choix multiples : Plusieurs options pour la ressource. Le client doit alors choisir.
- 301 Déplacé de façon permanente : La ressource a été déplacée de façon permanente vers un nouvel emplacement (URL).
- 302 Trouvé : Ce code d’état indique que la ressource est temporairement située à la nouvelle URL. Le client doit toutefois continuer à utiliser l’URL d’origine pour les demandes futures.
- 303 Voir autres : Le client doit suivre l’URL alternative vers la ressource (utilisée avec les requêtes POST).
- 304 Non modifié : Ce code d’état indique que la ressource à cet URI n’a pas été modifiée depuis la dernière requête. Le serveur indique donc au client d’utiliser la version en cache de la ressource.
- 305 Utiliser un proxy : L’accès à la ressource demandée doit se faire via le proxy fourni.
- 307 Redirection temporaire : Ce code d’état indique que la ressource est temporairement située à une URL différente. Cependant, le client doit continuer à utiliser l’URL d’origine pour les demandes futures.
- 308 Redirection permanente : La ressource a été déplacée de manière permanente vers une nouvelle URL. Le client doit alors utiliser l’URL spécifique pour les demandes futures.
4xx – Erreurs du client
Cela indique que le client a fait une demande incorrecte, et que le serveur ne pourra pas la traiter.
- 400 Mauvaise requête : Ce code de statut indique que le serveur n’a pas pu comprendre la requête en raison d’une syntaxe incorrecte. Le serveur n’est donc pas en mesure de traiter la demande. Le problème provient souvent de la structure incorrecte de la demande.
- 401 Non autorisé : Ce code d’état indique que l’authentification est requise, mais a échoué ou n’a pas été fournie. Le serveur refuse donc l’accès à la ressource demandée. Vous devez alors fournir des informations d’identification valides pour y accéder.
- 402 Paiement requis : Ce code de statut est réservé pour une utilisation future. Par conséquent, il n’est donc pas encore très utilisé.
Les plus connus de tous les codes d’état HTTP
- 403 Interdit : Bien que le serveur ait compris la demande, il refuse de l’autoriser.
- 404 Non trouvé : Le serveur n’a pas réussi à trouver la ressource demandée.
- 405 Méthode non autorisée : La méthode de requête est connue par le serveur. Elle n’est toutefois pas prise en charge pour la ressource demandée. Ce code d’état pour indiquer que la méthode n’est pas autorisée pour la ressource spécifique.
- 406 Non acceptable : Ce code d’état indique que le serveur ne peut générer qu’une réponse qui, par conséquent, n’est pas acceptable pour la ressource demandée par le client.
- 407 Authentification du proxy requise : Le client doit d’abord s’authentifier avec le proxy.
- 408 Requête expirée : Le serveur a expiré en attendant la demande du client.
- 409 Conflit : La demande n’a pas pu être complétée en raison d’un conflit avec l’état actuel de la ressource cible. Le serveur ne peut donc pas traiter la demande comme prévu.
- 410 Disparue : La ressource demandée n’est plus disponible et ne sera plus disponible.
- 411 Longueur requise : Le serveur refuse d’accepter la requête sans en-tête de longueur de contenu défini.
- 412 Échec de la précondition : Le serveur ne satisfait pas à l’une des conditions préalables énoncées par le client.
- 413 Charge utile trop importante : La demande est plus grande que ce que le serveur veut ou peut traiter.
- 414 URI Trop long : L’URI fourni était trop long pour que le serveur puisse traiter.
- 415 Type de média non pris en charge : L’entité de demande a un type de média que le serveur ou la ressource ne prend pas en charge.
- 416 Plage insatisfaisante : Le serveur ne peut pas fournir la plage demandée de la ressource.
- 417 Expectation Failed : Le serveur ne peut pas satisfaire les exigences du champ Expect request-header.
Par souci d’offrir une liste complète:
- 418 Je suis une théière : C’est une blague du poisson d’avril dans la spécification HTTP/1.1 (RFC 2324). Elle n’est pas utilisée dans les réponses HTTP réelles.
Retour à des codes d’état HTTP plus sérieux:
- 421 Requête mal dirigée: La demande a été dirigée vers un serveur qui n’est pas capable de produire une réponse.
- 422 Entité non traitable : Le serveur comprend le type de contenu et l’encodage du contenu de la demande, mais n’a pas pu traiter les instructions contenues en raison d’erreurs sémantiques. Dans ce cas, ce code est utilisé dans WebDAV. Par conséquent, le serveur ne peut pas répondre à la demande, même s’il comprend le contenu.
- 423 Verrouillé : La ressource est verrouillée (WebDAV).
- 424 Échec de la dépendance : La requête a échoué en raison d’un échec d’une requête précédente (WebDAV). Par conséquent, le serveur n’a pas pu traiter la demande comme prévu.
- 425 Trop tôt : le serveur ne veut pas traiter une requête qui pourrait être rejouée (HTTP/2).
- 426 Mise à niveau requise : le client doit changer de protocole (par exemple, HTTP/2).
- 428 Précondition Requis : le serveur a certaines conditions pour traiter une requête.
- 429 Trop de demandes : l’utilisateur a envoyé trop de demandes pendant une période donnée (limitation du taux).
- 431 Champs d’en-tête de requête trop volumineux : les en-têtes dans la requête sont trop volumineux pour que le serveur puisse les traiter.
- 451 Indisponible pour des raisons juridiques : la ressource est indisponible pour des raisons juridiques.
5xx – Erreur du serveur
Le serveur n’a pas réussi à répondre à une demande valide.
- 500 Erreur interne du serveur : Un message d’erreur générique utilisé lorsque le serveur ne parvient pas à traiter une demande valide.
- 501 Non mis en œuvre : Le serveur ne prend pas en charge la fonctionnalité requise pour répondre à la demande.
- 502 Mauvais accès : Le serveur a reçu une réponse invalide du serveur en amont tout en essayant de satisfaire la demande.
- 503 Service indisponible : Le serveur est actuellement incapable de traiter la demande en raison d’une surcharge temporaire ou d’une maintenance du serveur.
- 504 Accès expiré : Le serveur n’a pas reçu de réponse en temps opportun du serveur.
- 505 non prise en charge : Le serveur ne prend pas en charge la version du protocole HTTP qui a été utilisée dans la demande.
- 506 La variantes négocie également : Le serveur a une erreur de configuration interne en ce qui concerne la négociation de contenu.
- 507 Stockage insuffisant : Le serveur ne peut pas stocker la représentation nécessaire pour compléter la requête (WebDAV).
- 508 Boucle détectée : Le serveur a détecté une boucle infinie lors du traitement de la requête (WebDAV).
- 510 Non étendu : D’autres extensions du protocole HTTP sont nécessaires pour répondre à la demande.
- 511 Authentification réseau requise : Le client doit s’authentifier pour accéder au réseau.
Pourquoi les codes d’état HTTP et les erreurs sont-ils importants pour le référencement SEO?
Les codes de statut HTTP impactent la façon dont les moteurs de recherche explorent et indexent votre site. Les moteurs de recherche dépendent des codes d’état pour classer votre site comme sain et accessible à explorer.
Si vous avez beaucoup de liens brisés ou des problèmes de serveur, l’expérience utilisateur de vos visiteurs en souffrira. Votre site peut alors souffrir des taux de rebond élevés et d’un mauvais classements dans les résultats de recherche.
Les codes d’état HTTP génériques sont importants car ils contribuent à améliorer ou aggraver l’expérience utilisateur. Il impactent ainsi indirectement les performances SEO de votre site web.
Pour conclure sur les codes d’état HTTP
Les codes d’état HTTP jouent un rôle essentielle dans le fonctionnement de la navigation sur web. Ils permettent aux serveurs et navigateurs web de communiquer efficacement une foule d’informations.
Si vous êtes à la recherche d’un partenaire pouvant vous accompagner pour maximiser vos chances de succès, nous vous invitons à consulter nos offres d’hébergement web.
Nous espérons que cet article vous a plu et vous a éclairé sur les codes d’état HTTP. Si c’est le cas, nous vous invitons à consulter nos autres articles et tutoriels.
Notre base de connaissance contient aussi sans doute des réponses à toutes vos questions en liens avec vos projets web.