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}")