déErreur 404, erreur 502 ou encore redirection 301, vous avez certainement été déja confronté à ce type de message en consultant un site web. Pouvant être gênant pour l’internaute et pénalisant pour un éditeur de sites, ces codes des réponses peuvent avoir un impact négatif sur la crédibilité et l’image d’une entreprise mais aussi sur le référencement naturel. Il est donc crucial de comprendre les différents codes de réponses HTTP qui peuvent être renvoyés par un serveur en réponse à une requête. Ces codes sont utiles pour déterminer le résultat d’une action effectuée sur une ressource web et pour s’assurer que tout fonctionne correctement. Dans cet article, nous allons examiner les principaux codes de réponses HTTP et leur signification.

Qu’est-ce qu’un code HTTP ?

Un code de réponse HTTP est un nombre à trois chiffres renvoyé par un serveur Web pour indiquer le statut d’une requête qui lui a été adressée par un navigateur Web ou un autre client. Ces codes de réponse sont inclus dans les en-têtes de réponse HTTP et servent à informer le client sur le résultat de sa demande. Il existe cinq classes de codes de réponse HTTP, chacune représentant une catégorie spécifique de statuts. 

Un code de réponse qui commence par 1 indique que le serveur a bien reçu la requête et qu’il recherche des informations supplémentaires le temps de la traiter. Ce n’est ni un succès ni une erreur, mais simplement une information. Ils ne sont pas souvent utilisés, mais l’un des exemples les plus connus est le code 100 (Continue), 

  • 100 Con­tin­ue (Continuer) : Il indique que le serveur comprend la première partie de la requête du client et que ce dernier peut poursuivre sa requête.
  • 101 Switch­ing Pro­to­cols (Changement de protocole) : Le serveur accepte le changement de protocole demandé par le client dans l’en-tête de la requête.
  • 102 Pro­cess­ing  (Traitement en cours) : Le serveur est en cours de traitement de la requête, mais il n’a pas encore terminé le traitement. Ceci est souvent utilisé pour les requêtes longues ou lourdes.
  • 103 Ear­ly Hints (Requête interrompue) : L’échange de protocole doit être réinitialisé car le serveur a compris la requête, mais n’a pas encore terminé le traitement.

Les codes de succès (200-2XX)

Les codes de réponses commençant par 2 indiquent que la requête a été traitée avec succès. Voici quelques-uns des codes les plus courants :

  • 200 OK : La requête a réussi et le résultat de l’action est renvoyé dans le corps de la réponse.
  • 201 Created (Créé) : La requête a abouti à la création d’une nouvelle ressource. Les détails de la ressource créée sont généralement renvoyés dans le corps de la réponse.
  • 204 No Content (Pas de contenu) : La requête a été traitée avec succès, mais il n’y a pas de données à renvoyer. Cela arrive souvent lorsqu’une action ne modifie pas les données existantes ou n’en génère pas de nouvelles.

Les codes de redirection (300-3XX)

Les codes de réponses commençant par 3 indiquent qu’une action supplémentaire est nécessaire pour terminer la requête. Voici quelques-uns des codes les plus courants :

  • 300 Mul­ti­ple Choic­es (Choix multiples) : La requête a plusieurs réponses possibles. Le client peut choisir l’une des options et rediriger la requête vers l’URL appropriée.
  • 301 Moved Per­ma­nent­ly (Déplacé de manière permanente) : La ressource demandée a été déplacée définitivement vers une nouvelle URL. Le client doit effectuer une nouvelle requête vers cette nouvelle URL pour accéder à la ressource.
  • 302 Found (Trouvé) : La ressource demandée se trouve temporairement à une autre URL. Le client peut accéder à la ressource via cette nouvelle URL, mais doit continuer à utiliser l’URL d’origine pour les futures requêtes.
  • 303 See Oth­er (Voir Autre) : Le serveur renvoie une réponse avec une autre ressource, généralement sous forme de réponse à une requête POST. Le client doit rediriger la requête vers cette nouvelle ressource.
  • 304 Not Mod­i­fied (Non modifié) : La ressource n’a pas été modifiée depuis la dernière requête et il n’est pas nécessaire de la télécharger à nouveau. Cette réponse est souvent utilisée pour économiser de la bande passante et améliorer les performances du site.

Les codes d’erreur du côté client (400-4XX)

Les codes de réponses commençant par 4 indiquent qu’une erreur s’est produite du côté du client, généralement en raison d’une mauvaise demande ou d’une authentification incorrecte. Voici quelques-uns des codes les plus courants :

  • 400 Bad Request (Mauvaise requête) : La requête envoyée par le client était mal formée et ne peut pas être traitée par le serveur.
  • 401 Unau­tho­rized (Non autorisé) : L’accès à la ressource est refusé en raison d’une authentification manquante ou invalide.
  • 403 For­bid­den (Interdit) : Le client n’a pas l’autorisation d’accéder à la ressource, même avec une authentification valide.
  • 404 Not Found (Non trouvé) : La ressource demandée n’existe pas sur le serveur et aucune redirection n’est disponible. Pour en savoir plus, découvrez la définition de l’erreur 404.
  • 410 Gone (Partielle) : La ressource demandée n’est plus disponible, et aucune redirection n’est fournie. Cela indique généralement que la ressource a été intentionnellement supprimée. Similaire à une 404 mais avec l’information supplémentaire que la page ne sera plus jamais disponible.
  • 429 Too Many Requests (Trop de requêtes) : Le client a envoyé trop de requêtes dans un laps de temps donné, ce qui peut provoquer un blocage temporaire de l’accès à la ressource.

Les codes d’erreur du côté serveur (500-5XX)

Les codes de réponses commençant par 5 indiquent qu’une erreur s’est produite du côté du serveur lors du traitement de la requête. Voici quelques-uns des codes les plus courants :

  • 500 Inter­nal Serv­er Error (Erreur interne du serveur) : Une erreur inattendue s’est produite sur le serveur, empêchant le traitement de la requête.
  • 502 Bad Gate­way (Mauvaise passerelle) : Le serveur agit en tant que passerelle ou proxy et a reçu une réponse invalide de la part d’un autre serveur lors du traitement de la requête. En savoir plus sur l’erreur 502 Bad Gareway
  • 503 Ser­vice Unavail­able (Service indisponible) : Le serveur est temporairement incapable de traiter la requête, généralement en raison d’une surcharge ou d’une maintenance. Les clients sont encouragés à réessayer ultérieurement.
  • 504 Gateway Timeout (Temps d’Attente de la Passerelle épuisé) : Le serveur agit en tant que passerelle ou proxy et n’a pas reçu de réponse à temps de la part d’un autre serveur pour terminer la requête.

Comprendre les codes de réponses HTTP pour un développement web efficace

Si vous êtes développeur web ou que vous souhaitez le devenir, il est alors essentiel de se familiariser avec ces principaux codes de réponses HTTP afin de mieux comprendre comment vos applications interagissent avec les serveurs et les ressources en ligne. Une meilleure connaissance des codes de réponses vous permettra de déboguer plus rapidement et d’améliorer l’expérience utilisateur de vos sites web.