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 entiers à 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 se divisent en cinq classes:

  • 1xx Informationnels: La requête a été reçue et le traitement continue.
    • 100 Continue: Le serveur a reçu la partie initiale de la requête, et le client peut continuer à envoyer le reste.
    • 101 Switching Protocols: Le serveur comprend et est prêt à effectuer le changement de protocoles demandé par le client.
  • 2xx Succès: La requête a été traitée avec succès, comprise et acceptée.
    • 200 OK: Réponse standard de succès pour les requêtes HTTP.
    • 201 Created: La requête a été complétée et une nouvelle ressource a été créée.
    • 204 No Content: Le serveur a traité la requête avec succès, mais il n'y a pas de contenu dans la réponse.
  • 3xx Redirection: Des actions supplémentaires sont nécessaires pour compléter la requête.
    • 301 Moved Permanently: La ressource demandée a une nouvelle URI permanente.
    • 302 Found: La ressource demandée a été déplacée temporairement vers une autre URI.
    • 304 Not Modified: La ressource n'a pas changé depuis la dernière requête.
  • 4xx Erreurs du client: La requête contient une erreur de syntaxe ou ne peut pas être traitée.
    • 400 Bad Request: Le serveur n'a pas pu comprendre la requête en raison d'une syntaxe invalide.
    • 401 Unauthorized: Une authentification est requise pour accéder à la ressource.
    • 403 Forbidden: Le serveur a compris la requête, mais refuse de l'autoriser.
    • 404 Not Found: Le serveur ne peut pas trouver la ressource demandée.
  • 5xx Erreurs du serveur: Le serveur n'a pas pu traiter correctement une requête bien formée.
    • 500 Internal Server Error: Erreur générale du serveur survenue lors du traitement.
    • 502 Bad Gateway: Le serveur agissant comme passerelle ou proxy a reçu une réponse invalide du serveur supérieur.
    • 503 Service Unavailable: Le serveur ne peut pas traiter la requête pour le moment en raison d'une surcharge temporaire ou d'une maintenance.

Exemples d'utilisation dans les tests:

  • Tests d'API: Vérification que les codes de statut renvoyés correspondent à ceux attendus (par exemple, 200 OK pour une récupération réussie des données, 404 Not Found pour une ressource inexistante).
  • Tests d'applications web: Vérification des redirections (codes de statut 3xx), des erreurs de saisie utilisateur (codes de statut 4xx), du bon fonctionnement des services sous charge (code de statut 503).

Exemple de vérification du code de statut en Python avec requests:

import requests

url = "https://www.example.com"
response = requests.get(url)

# Vérifier que la requête a réussi (code de statut 2xx)
if response.status_code == 200:
    print("Requête réussie.")
else:
    print(f"Erreur lors de la requête. Code de statut: {response.status_code}")