Parlez-moi des codes d'état 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. Ils indiquent le résultat de la requête et fournissent des informations sur la façon dont le client doit traiter la réponse.
Les codes de statut sont divisés en cinq classes :
- 1xx — Informatifs : La requête a été acceptée, le traitement se poursuit.
- 2xx — Réussis : La requête a été traité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 la requête correctement.
Voici quelques codes de statut courants :
| Code | Description | Classe |
|---|---|---|
| 200 | OK | Réussis |
| 201 | Créé | Réussis |
| 204 | Aucun contenu | Réussis |
| 301 | Déplacé définitivement | Redirection |
| 302 | Trouvé | Redirection |
| 400 | Requête incorrecte | Erreur du client |
| 401 | Non autorisé | Erreur du client |
| 403 | Interdit | Erreur du client |
| 404 | Non trouvé | Erreur du client |
| 500 | Erreur interne du serveur | Erreur du serveur |
| 503 | Service indisponible | Erreur du serveur |
Lors du test d'une API, il est important de vérifier que les codes de statut corrects sont renvoyés en réponse à diverses requêtes (réussie, avec erreurs de validation, avec données incorrectes, etc.) pour assurer un comportement prévisible du système.
Par exemple, lors de la création d'une ressource, on attend un 201, lors de la récupération réussie de données, un 200, lors d'une requête pour une ressource inexistante, un 404, et en cas d'erreur serveur, un 500.
Exemple de vérification du code de statut dans un test automatique (en Python avec requests) :
import requests
url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)
# Vérifier que la requête a renvoyé le statut 200 OK
assert response.status_code == 200