Articles sur : Pour les débutants
Cet article est aussi disponible en :

Que signifient les différents codes d’erreur HTTP?

Il existe des dizaines codes d’état de serveur http différents, bien que vous soyez probablement familier avec seulement quelques uns. Ci-dessous, nous avons couvert les codes les plus courants, ainsi que quelques-uns des codes moins connus qu'il est possible de rencontrer.


Comprendre les classes de code d’état HTTP



Les codes d’état HTTP sont divisés en cinq « classes ». Il s’agit de groupes d'erreurs de natures similaires et liés au même élément.

Comprendre la base de ces catégories peut vous aider à déterminer rapidement la nature générale d’un code de statut avant de chercher sa signification spécifique.

Les cinq classes comprennent:


100 à 199: Codes d’information indiquant que la requête initiée par le navigateur se poursuit.
200 à 299: Codes indiquant la réussite retournés lorsque la demande du navigateur a été reçue, comprise et traitée par le serveur.
300 à 399: Codes de redirection retournés lorsqu’une nouvelle ressource a remplacé la ressource demandée.
400 à 499: Codes d’erreur au niveau du client indiquant qu’il y a eu un problème avec la demande.
500 à 599: Codes d’erreur au niveau du serveur indiquant que la requête a été acceptée, mais qu’une erreur sur le serveur a empêché le traitement de la requête.

Dans chacune de ces classes, il existe un certain nombre de codes d'état qu'un serveur peut renvoyer. Chaque code a une signification spécifique et unique, que nous aborderons dans la liste plus complète ci-dessous.


Les codes d’état 100



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 ou une autre. Ce n’est pas nécessairement un problème, simplement un délai.

100 : « Continuer. » Ce code indique que le serveur en question a reçu les en-têtes de requête de votre navigateur, et est maintenant prêt pour l’envoi du corps de requête.
101 : « Changer de protocole ». Votre navigateur a demandé au serveur de changer de protocole, et le serveur s’y est conformé.
103 : “Early hints.” Ceci renvoie quelques en-têtes de réponse avant que le reste de la réponse du serveur ne soit prêt.


Les codes d’état 200



Cette classe représente les meilleurs codes d’état HTTP à recevoir. Une réponse de classe 200 niveaux signifie que tout fonctionne exactement comme il se doit.

200 : « Tout va bien. » C’est le code qui est livré lorsqu’une page Web ou une ressource agit exactement comme on s’y attend.
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 demande de votre navigateur, mais il la traite toujours. La demande peut aboutir ou non à une réponse complète.
203 : « Renseignements non habilitants ». Ce code d’état signifie qu'un serveur proxy a reçu un code d’état 200 « Tout va bien » du serveur d’origine, mais a modifié la réponse avant de la transmettre à votre navigateur.
204 : « Aucun contenu ». Ce code signifie que le serveur a traité la demande avec succès, mais qu’il ne retournera aucun contenu.
205 : « Réinitialiser le contenu ». Comme un code 204, cela signifie que le serveur a traité la demande, mais ne va pas retourner de contenu. Toutefois, il faut que votre navigateur web réinitialise l'affichage du contenu.
206 : « Contenu partiel ». Vous pouvez voir ce code d’état si votre client HTTP utilise des en-têtes de plage (permettant notamment à votre navigateur de reprendre des téléchargements interrompus). Un code 206 est envoyé lorsqu’un en-tête de plage ne permet au serveur que d'envoyer seulement une partie de la ressource demandée.

Les codes d’état 300



Une redirection est un processus utilisé pour communiquer qu’un contenu a été déplacée vers un nouvel emplacement. Il y a plusieurs codes d’état HTTP qui indiquent des redirections, afin de fournir aux visiteurs des informations sur l'emplacement du contenu qu’ils recherchent.

300 : « Choix multiples ». Un code d’état 300 signifie que votre navigateur doit maintenant choisir entre plusieurs ressources possibles avec lesquelles le serveur peut répondre à la demande de votre navigateur.
301 : « La ressource demandée a été déplacée de façon permanente. » Ce code est fourni lorsqu’une page Web ou une ressource a été remplacée de façon permanente par une autre ressource. Le code 301 est utilisé pour la redirection permanente d’URL.
302 : « La ressource demandée a déménagé, mais a été trouvée. » Ce code est utilisé pour indiquer que la ressource demandée a été trouvée, mais pas exactement à l’endroit où elle était attendue. Le code 302 est utilisé pour la redirection temporaire d’URL.
303 : “See Other.” : Un code 303 indique à votre navigateur qu’il a trouvé la ressource que votre navigateur a demandée via POST, PUT ou DELETE. Cependant, pour le récupérer en utilisant GET, la requête appropriée doit être adressée à une URL différente de celle utilisée.
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 le contenu stocké dans le cache du navigateur n’ont pas changé.
307 : « Réacheminement temporaire ». Le code d’état 307 est le successeur du 302 « Found » comme mesure 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 peut remplacé le code 301 « Déplacé de façon permanente ». Il ne permet pas à la méthode HTTP de changer et indique que la ressource demandée est maintenant située en permanence à une nouvelle URL.

400 codes d’état



Les codes d’état HTTP de classe 400 commencent à devenir problématiques. Ce sont des codes d’erreur précisant qu’il y a une erreur avec votre navigateur et / ou votre requête.

400 : « Mauvaise demande ». Le serveur ne peut pas répondre en raison d’une erreur du côté du client.
401 : « Non autorisé » ou « Autorisation requise ». Ce message est retourné par le serveur quand la ressource cible de la requête n’a pas d’identifiants d’authentification valides.
402 : « Paiement requis ». À l’origine, ce code a été créé pour servir un système de caisse numérique qui n’a jamais pris forme. Il est plutôt utilisé par diverses plateformes pour indiquer qu’une demande de paiement ne peut être traitée.
403 : « L’accès à cette ressource est interdit. » Ce code est retourné lorsqu’un utilisateur tente d’accéder à un contenu qu’il n’a pas la permission de consulter.
404 : « La ressource demandée n’a pas été trouvée. » Il s’agit du message d’erreur le plus courant depuis les débuts d'internet. Ce code signifie que la ressource demandée n’existe pas et que le serveur n'a aucune information suggérant qu'elle a déjà existé.
405 : “Method not allowed.” Ceci est généré lorsque le serveur d’origine supporte la méthode reçue, mais ne supporte pas la ressource cible.
406 : « Réponse inacceptable. » 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 requête.
407 : « Authentification par mandataire requise ». Un serveur mandataire est utilisé et votre navigateur doit s’authentifier avant de continuer.
408 : « Le serveur a expiré en attendant le reste de la demande du navigateur. » Ce code est généré lorsqu’un serveur expire en attendant la demande complète du navigateur. Le serveur n’a donc pas reçu la demande complète envoyée par le navigateur.
409 : « Conflit ». Un code d’état 409 signifie que le serveur ne peut pas traiter la requête car il y a un conflit avec la ressource concernée, en raison de multiples contrôles simultanés.
410 : « La ressource demandée a disparu et ne reviendra pas. » Le code 410 ressemble à un code 404 « Introuvable », sauf qu’il indique que la condition est prévisible et permanente.
411 : « Longueur requise ». Ce code signifie que la ressource demandée exige que le client précise une certaine longueur et que cela n'a pas été fait correctement.
412 : « Condition préalable échouée ». Votre navigateur web a inclus certaines conditions dans ses en-têtes de demande, et le serveur ne peut répondre à ces spécifications.
413 : « Charge utile trop grande » ou « Entité de demande trop grande ». Votre demande est tout simplement plus grande que ce que le serveur est disposé à traiter ou en mesure de traiter.
414 : “URI Too Long.” Ce code est le résultat d’une requête GET qui a été encodée en une chaîne de requête trop grande pour être traitée par le serveur.
415 : « Type de support non pris en charge ». La demande comprend un type de support que le serveur ou la ressource est incapable de prendre en charge.
416 : « Range Not Satisfiable ». Votre demande impliquait une partie d’une ressource que le serveur est incapable de retourner.
417 : « Expectation Failed ». Le serveur est incapable pour une raison ou une autre de répondre aux exigences spécifiées dans le champ d’en-tête Expect de la requête.
418 : « Je suis une théière ». Le code 418 est retourné par des théières qui reçoivent des demandes de café. Il s'agit d'une blague datant du poisson d’avril de 1998 toujours active.
422 : « Unprocessable Entity ». La requête du client contient des erreurs sémantiques, et le serveur est incapable de les traiter.
425 : « Trop tôt. » Ce code est envoyé lorsque le serveur ne veut pas traiter une demande à nouveau parce qu’elle a déjà été envoyée.
426 : « Mise à niveau requise ». En raison du contenu du champ d’en-tête de mise à niveau de la requête, le client doit passer à un protocole différent.
428 : « Conditions préalables requises ». Le serveur exige que certaines conditions soient précisées avant de pouvoir traiter la demande.
429 : « Trop de demandes ». Ce code est généré par le serveur lorsque l’utilisateur a envoyé trop de demandes dans un délai trop court. Cela peut parfois se produire en raison d'un trafic trop élevé ou de bots / scripts tentant d’accéder à votre site.
431 : « Request Header Fields Too Large ». Le serveur ne peut pas traiter la requête parce que les champs d’en-tête sont trop grands.
451 : « Indisponible pour des raisons juridiques ». L’opérateur du serveur a reçu une demande pour interdire l’accès à la ressource que vous avez demandée.
499 : « Demande fermée par le client ». Elle est retournée par NGINX lorsque le client ferme la demande pendant que Nginx la traite.

Les codes d’état 500



Les codes d’état de niveau 500 sont également considérés comme des erreurs mais ils indiquent que le problème est au niveau du serveur. Cela peut les rendre plus complexes à résoudre.

500 : « Il y a eu une erreur sur le serveur et la demande n’a pas pu être traitée. » Un code 500 ou 500 CHMOD 777 signifie « erreur du serveur interne ». Quelque chose a mal tourné sur le serveur et la ressource demandée n’a pas été livrée.
501 : « Non mis en œuvre ». Cette erreur indique que le serveur ne prend pas en charge la fonctionnalité requise pour traiter la demande. Ceci est presque toujours un problème sur le serveur web lui-même, et doit généralement être résolu par l’hébergeur.
502 : « Bad Gateway ». Ce code d’erreur signifie généralement qu’un serveur a reçu une réponse invalide d’un autre, par exemple lorsqu’un serveur proxy est utilisé. D’autres fois une requête ou une requête prendra trop de temps, et donc elle est annulée par le serveur et la connexion à la base de données est rompue.
503 : « Le serveur n’est pas disponible pour traiter cette demande en ce moment. » La demande ne peut pas être traitée pour l’instant. Ce code indique que le serveur surchargé est incapable de traiter des requêtes supplémentaires.
504 : « Le serveur, agissant comme une passerelle, a expiré en attendant qu’un autre serveur réponde. » Il s’agit du code retourné lorsqu’il y a au moins deux serveurs d'impliqués dans le traitement d’une requête, et que le premier serveur a expiré avant que le second serveur ne réponde.
505 : “HTTP Version Not Supported.” Ce code indique que le serveur ne supporte pas la version HTTP utilisée par le client pour faire sa requête.
508 : Les limites de ressources établies par votre hébergeur ont été atteintes. Vous avez dépassé les limites actuelles de votre plan d'hébergement.
509 : « Limite de bande passante dépassée » Ce code indique que votre site Web utilise davantage de bande passante que ne le permet votre hébergeur.
511 : « Authentification réseau requise ». Le code d’état 511 est envoyé lorsque le réseau que vous essayez d’utiliser nécessite une authentification avant d’envoyer votre demande au serveur.
521 : « Web server is down. » L’erreur 521 est un message d’erreur propre à Cloudflare. Cela signifie que votre navigateur Web a réussi à se connecter à Cloudflare, mais celui-ci n’a pas pu se connecter au serveur d’origine.
525 : « SSL Handshake Failed ». L’erreur 525 signifie que la poignée de main SSL entre un domaine utilisant Cloudflare et le serveur Web d’origine a échoué.


Voilà qui résume à peu près tout le code d'état HTTP que vous risquez de rencontrer en circulant sur le web.

Mis à jour le : 17/02/2023

Cet article a-t-il répondu à vos questions ?

Partagez vos commentaires

Annuler

Merci !