Continue
Le serveur a reçu les en-têtes et le client peut continuer à envoyer le corps. Évite d'envoyer un gros payload si le serveur pourrait rejeter la requête.
Référence
Référence consultable des codes de réponse HTTP courants.
Le serveur a reçu les en-têtes et le client peut continuer à envoyer le corps. Évite d'envoyer un gros payload si le serveur pourrait rejeter la requête.
Le serveur accepte de changer de protocole (par ex. HTTP vers WebSocket) comme demandé par l'en-tête Upgrade.
Le serveur a reçu et traite la requête, mais aucun corps de réponse n'est encore disponible. Utilisé pour opérations longues.
La requête a réussi. Le corps de réponse contient généralement la ressource demandée ou le résultat de l'opération.
La requête a réussi et une nouvelle ressource a été créée. Souvent après POST avec en-tête Location pointant vers la nouvelle ressource.
La requête a été acceptée pour traitement mais n'est pas terminée. Fréquent pour les jobs async et tâches en arrière-plan.
La requête a réussi mais aucun contenu à renvoyer. Typique d'un DELETE ou PUT réussi avec corps vide.
La ressource a été déplacée définitivement vers une nouvelle URL. Clients et moteurs de recherche doivent mettre à jour favoris et liens.
La ressource est temporairement disponible à une autre URL. Les requêtes futures peuvent encore utiliser l'URL d'origine.
Après un POST, le client doit récupérer le résultat en GET à l'URL indiquée dans l'en-tête Location.
La version en cache est encore valide. Le serveur ne renvoie pas de corps ; le client doit utiliser son cache local.
Redirection temporaire conservant la méthode HTTP d'origine. Contrairement à l'ancien comportement 302, POST reste POST après redirection.
Redirection permanente conservant la méthode HTTP d'origine. Le client doit utiliser la nouvelle URL pour les requêtes futures.
Le serveur ne peut pas traiter la requête : syntaxe invalide, champs manquants ou JSON mal formé. Corrigez et réessayez.
L'authentification est requise ou a échoué. Le client doit fournir des identifiants valides, souvent via l'en-tête Authorization ou une connexion.
Le serveur a compris la requête mais refuse de l'autoriser. L'utilisateur peut être authentifié mais sans permission.
L'URL ou la ressource demandée n'existe pas. Vérifiez chemin, route ou ID — ou l'élément a peut-être été supprimé.
La méthode HTTP n'est pas autorisée pour cet endpoint. Par exemple, envoyer POST là où seul GET est pris en charge.
Le serveur a expiré en attendant la requête complète. Souvent dû à des envois lents ou connexions inactives.
La requête entre en conflit avec l'état actuel de la ressource. Fréquent lors de doublons ou violation de contraintes de version.
La ressource existait mais a été supprimée définitivement et ne sera plus disponible. Plus strict que 404 pour contenu supprimé.
Le corps de requête dépasse ce que le serveur accepte. Réduisez la taille du payload ou utilisez un envoi par fragments.
L'URL de requête dépasse la limite serveur. Raccourcissez les query strings ou déplacez les données dans le corps.
Le serveur ne prend pas en charge le Content-Type de la requête. Envoyez JSON, données de formulaire ou un format accepté par l'API.
Défini dans RFC 2324 comme blague du 1er avril : le serveur refuse de préparer du café car c'est une théière. Parfois utilisé en démo.
La requête est syntaxiquement valide mais sémantiquement incorrecte. Typique des erreurs de validation dans les API REST et formulaires web.
Le client a envoyé trop de requêtes dans un intervalle donné. Respectez Retry-After et implémentez backoff ou limitation de débit.
Une erreur inattendue s'est produite sur le serveur. En général, ce n'est pas la faute du client — consultez les logs serveur et réessayez plus tard.
Le serveur ne prend pas en charge la fonctionnalité requise. La méthode ou fonction n'est pas implémentée.
Une passerelle ou un proxy a reçu une réponse invalide d'un serveur upstream. Fréquent derrière des load balancers lorsque les backends échouent.
Le serveur est temporairement indisponible, souvent pour maintenance ou surcharge. Réessayez après un délai ; vérifiez Retry-After si présent.
Une passerelle ou un proxy n'a pas reçu de réponse à temps du serveur upstream. Indique une lenteur backend ou des problèmes réseau.
32 codes d'état HTTP courants
Consultez la signification de 301, 403, 429 et autres codes lors du débogage.
Référence consultable des codes de réponse HTTP courants.