Sobes.tech
Junior

Parlez des codes de statut HTTP.

sobes.tech IA

Réponse de l'IA

Les codes de statut HTTP sont des nombres à trois chiffres renvoyés par le serveur en réponse à une requête du client, indiquant le résultat du traitement de la requête. Ils sont classés par le premier chiffre:

  • 1xx (Information): La requête a été acceptée, le traitement continue.
  • 2xx (Succès): La requête a été reçue, comprise et acceptée avec succès.
  • 3xx (Redirection): Des actions supplémentaires sont nécessaires pour compléter la requête.
  • 4xx (Erreur du client): La requête contient une erreur de syntaxe ou ne peut pas être traitée.
  • 5xx (Erreur du serveur): Le serveur n'a pas pu traiter correctement la requête bien formée.

Exemples des codes les plus courants:

Code Catégorie Valeur Description
100 Information Continue Le serveur a reçu la première partie de la requête
200 Succès OK La requête a été traitée avec succès
201 Succès Created La requête a été traitée et une nouvelle ressource a été créée
204 Succès No Content La requête a été traitée et la réponse ne contient pas de corps
301 Redirection Moved Permanently La ressource a été déplacée de façon permanente
302 Redirection Found (Temporarily Moved) La ressource a été déplacée temporairement
304 Redirection Not Modified La ressource n'a pas changé depuis la dernière requête
400 Erreur du client Bad Request La syntaxe de la requête est incorrecte
401 Erreur du client Unauthorized Une authentification est requise
403 Erreur du client Forbidden L'accès à la ressource est interdit
404 Erreur du client Not Found La ressource à l'URL spécifiée est introuvable
405 Erreur du client Method Not Allowed La méthode HTTP utilisée n'est pas autorisée
500 Erreur du serveur Internal Server Error Erreur interne du serveur
502 Erreur du serveur Bad Gateway Réponse invalide du serveur en amont
503 Erreur du serveur Service Unavailable Le serveur est temporairement indisponible

Connaître les codes de statut aide à comprendre la cause de l'erreur, à déboguer les requêtes et à déterminer le succès de leur exécution. En automatisation de tests, ils sont souvent utilisés pour vérifier le résultat attendu des requêtes API.

import requests

url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)

# Vérification du code de statut pour succès (200 OK)
if response.status_code == 200:
    print("Requête GET réussie")
else:
    print(f"Erreur lors de la requête GET : code de statut {response.status_code}")

url_not_found = "https://jsonplaceholder.typicode.com/nonexistent"
response_not_found = requests.get(url_not_found)

# Vérification du code de statut pour ressource non trouvée (404 Not Found)
if response_not_found.status_code == 404:
    print("Ressource non trouvée (comportement attendu)")
else:
    print(f"Code de statut inattendu reçu : {response_not_found.status_code}")