|
400
|
Bad Request
RFC 9110
|
Le serveur ne peut pas traiter la requête car la syntaxe, les paramètres, les en-têtes ou le corps sont invalides. |
Courant avec du JSON invalide, des valeurs obligatoires manquantes, des URLs mal formées ou des en-têtes anormaux. |
Vérifiez le format du corps de requête, Content-Type, les paramètres de requête et les logs de validation du serveur.
Associés: 422
|
|
401
|
Unauthorized
RFC 9110
|
Une authentification est requise ou les identifiants fournis sont invalides. |
Utilisé lorsqu'un token de connexion manque, qu'une clé API a expiré ou que l'en-tête Authorization est incorrect. |
Vérifiez l'en-tête WWW-Authenticate, l'expiration du token, le schéma d'authentification et si les cookies sont envoyés.
Associés: 403, 407
|
|
402
|
Payment Required
RFC 9110
|
Réservé aux scénarios nécessitant un paiement, mais son sens standard n'est pas largement établi. |
Certaines API et services de paiement l'utilisent officieusement pour des problèmes de paiement, crédit ou abonnement. |
Consultez la documentation propre au service pour connaître le sens réel de 402 et le chemin de récupération.
Associés: 403, 429
|
|
403
|
Forbidden
RFC 9110
|
Le serveur a compris la requête, mais refuse d'autoriser l'accès. |
Courant avec des permissions insuffisantes, blocages IP, politiques administratives ou accès à des ressources privées. |
Vérifiez séparément la politique d'autorisation, les ACLs, les règles WAF, les permissions de fichiers et les règles de routage.
Associés: 401, 404, 451
|
|
404
|
Not Found
RFC 9110
|
La ressource demandée est introuvable, ou le serveur ne révèle pas si elle existe. |
Le plus courant avec des erreurs d'URL, pages supprimées, routes incorrectes ou ressources volontairement masquées. |
Vérifiez les liens internes, sitemaps, redirections, tables de routage et URLs de remplacement pour le contenu supprimé.
Associés: 410, 403, 451
|
|
405
|
Method Not Allowed
RFC 9110
|
La ressource existe, mais la méthode HTTP demandée n'est pas autorisée. |
Se produit lorsqu'un POST est envoyé à une URL seulement GET ou lorsqu'une route d'API est configurée pour d'autres méthodes. |
Vérifiez l'en-tête Allow, les définitions de méthodes du routeur et les politiques de restriction de méthode du proxy.
Associés: 404, 501
|
|
406
|
Not Acceptable
RFC 9110
|
Le serveur ne peut pas fournir une représentation correspondant aux en-têtes Accept du client. |
Peut se produire lorsque le client demande uniquement des types de médias, langues ou encodages non pris en charge. |
Vérifiez les en-têtes Accept, Accept-Language et Accept-Encoding ainsi que les paramètres de négociation de contenu du serveur.
Associés: 415
|
|
407
|
Proxy Authentication Required
RFC 9110
|
Une authentification est requise avant que le client puisse utiliser le proxy. |
Vu dans les réseaux d'entreprise, proxies de sécurité et environnements d'authentification de passerelle. |
Vérifiez les en-têtes Proxy-Authenticate et Proxy-Authorization ainsi que la configuration du proxy réseau.
Associés: 401, 305
|
|
408
|
Request Timeout
RFC 9110
|
Le serveur n'a pas reçu la requête client complète dans le délai qu'il était prêt à attendre. |
Peut arriver avec des réseaux lents, uploads volumineux, timeouts keep-alive ou timeouts de load balancer. |
Vérifiez le comportement de retry du client, la taille d'upload, les paramètres keep-alive et les valeurs de timeout du proxy.
Associés: 504
|
|
409
|
Conflict
RFC 9110
|
La requête est en conflit avec l'état actuel de la ressource. |
Souvent utilisé pour les créations en double, conflits de version, éditions concurrentes ou transitions d'état invalides. |
Vérifiez les versions de ressource, ETags, clés dupliquées et règles métier de transition d'état.
Associés: 412, 422
|
|
410
|
Gone
RFC 9110
|
La ressource existait auparavant, mais elle a été supprimée définitivement. |
Plus spécifique que 404 lorsque vous voulez indiquer clairement aux moteurs de recherche et clients qu'une page a été supprimée. |
Utilisez 301 s'il existe une URL de remplacement; utilisez 410 avec nettoyage du sitemap lorsque la suppression permanente est correcte.
Associés: 404, 301
|
|
411
|
Length Required
RFC 9110
|
Le serveur rejette la requête car elle n'inclut pas Content-Length. |
Peut se produire lorsqu'un serveur ou une passerelle doit connaître à l'avance la longueur du corps de requête. |
Vérifiez Content-Length, Transfer-Encoding et le comportement de streaming de la bibliothèque cliente.
Associés: 413
|
|
412
|
Precondition Failed
RFC 9110
|
Une précondition d'une requête conditionnelle, comme If-Match, a échoué. |
Utilisé pour prévenir les éditions concurrentes, revalider le cache et effectuer des mises à jour basées sur ETag. |
Comparez If-Match, If-None-Match et If-Unmodified-Since avec la version actuelle de la ressource.
Associés: 304, 409, 428
|
|
413
|
Content Too Large
RFC 9110
|
Le corps de la requête est plus volumineux que ce que le serveur accepte. |
Courant avec les limites d'upload de fichiers, limites de taille de corps JSON et restrictions de taille de corps côté proxy. |
Vérifiez les limites d'upload sur le serveur, le proxy, le CDN et l'application.
Associés: 411, 431
|
|
414
|
URI Too Long
RFC 9110
|
L'URI de la requête est plus longue que ce que le serveur peut traiter. |
Peut arriver avec de très longues query strings, des boucles de redirection défectueuses ou trop de données placées dans une URL GET. |
Déplacez les données longues dans un corps POST et vérifiez les limites de longueur d'URI dans les proxies et serveurs.
Associés: 400, 431
|
|
415
|
Unsupported Media Type
RFC 9110
|
Le serveur ne prend pas en charge le type de média du corps de la requête. |
Se produit lorsqu'une API JSON reçoit le mauvais Content-Type ou qu'un format de fichier non pris en charge est uploadé. |
Vérifiez Content-Type, l'extension de fichier, les paramètres multipart et si le parser serveur est enregistré.
Associés: 406, 422
|
|
416
|
Range Not Satisfiable
RFC 9110
|
La plage Range demandée ne peut pas être servie car elle ne correspond pas à la taille de la ressource. |
Se produit lors de téléchargements reprenables ou de streaming lorsque la plage demandée dépasse la taille du fichier. |
Vérifiez l'en-tête Range, Content-Range, la taille du fichier et les métadonnées de cache obsolètes.
Associés: 206
|
|
417
|
Expectation Failed
RFC 9110
|
Le serveur ne peut pas satisfaire l'attente indiquée dans l'en-tête Expect. |
Peut se produire lorsqu'un serveur ou proxy ne prend pas en charge des attentes comme Expect: 100-continue. |
Supprimez l'en-tête Expect ou confirmez que le serveur prend en charge le traitement 100 Continue.
Associés: 100
|
|
418
|
I'm a teapot
RFC 2324 / RFC 9110
|
Code issu d'un RFC de poisson d'avril, avec une signification surtout historique et culturelle plutôt que pratique pour la gestion d'erreur. |
Certains services l'utilisent pour des réponses ludiques, des tests ou la culture développeur, mais il n'est pas recommandé pour la conception d'API ordinaire. |
Pour les API de production, utilisez un code 4xx ou 5xx clair avec un sens bien défini.
Associés: 400
|
|
421
|
Misdirected Request
RFC 9110
|
La requête a été envoyée à un serveur incapable de produire une réponse pour elle. |
Peut arriver lorsque la réutilisation de connexion HTTP/2, TLS/SNI, CDN ou le routage de proxy inverse est mal configuré. |
Vérifiez Host, SNI, les certificats, la coalescence de connexions HTTP/2 et le routage d'origine CDN.
Associés: 400, 502
|
|
422
|
Unprocessable Content
RFC 9110
|
La syntaxe de la requête est valide, mais le contenu est sémantiquement impossible à traiter. |
Courant pour les échecs de validation d'API, violations de règles métier et valeurs de champs invalides. |
Décidez dans les règles de votre API si 400 signifie erreurs de format et 422 erreurs sémantiques ou de validation.
Associés: 400, 409, 415
|
|
423
|
Locked
RFC 4918
|
La ressource cible est verrouillée, la requête ne peut donc pas être traitée. |
Utilisé pour les verrous d'édition de fichiers, documents collaboratifs et verrous de ressources WebDAV. |
Vérifiez le propriétaire du verrou, son expiration, l'API de déverrouillage et la politique de gestion des conflits.
Associés: 409, 424
|
|
424
|
Failed Dependency
RFC 4918
|
La requête actuelle ne peut pas être exécutée car une opération dépendante précédente a échoué. |
Utilisé lorsque plusieurs opérations dépendent les unes des autres et que l'échec d'une opération antérieure fait échouer une opération suivante. |
Rendez claires dans le corps de réponse l'opération précédente échouée et la relation de dépendance.
Associés: 207, 423
|
|
425
|
Too Early
RFC 8470
|
Le serveur refuse de traiter une requête potentiellement trop précoce et risquée à rejouer. |
Peut être utilisé avec les données précoces TLS 1.3 0-RTT lorsqu'il existe un risque d'attaque par rejeu. |
Assurez-vous que les requêtes non idempotentes ne sont pas envoyées avec 0-RTT et vérifiez les paramètres client et serveur.
Associés: 429, 503
|
|
426
|
Upgrade Required
RFC 9110
|
Le serveur exige que le client mette à niveau les protocoles avant de traiter la requête. |
Utilisé lorsqu'une mise à niveau précise est requise, comme une version HTTP, TLS ou WebSocket. |
Vérifiez l'en-tête Upgrade, les protocoles pris en charge et si les proxies transmettent les requêtes d'upgrade.
Associés: 101
|
|
428
|
Precondition Required
RFC 6585
|
Le serveur exige un en-tête de requête conditionnelle. |
Utilisé pour éviter les mises à jour perdues lors d'éditions concurrentes en exigeant une condition comme If-Match. |
Fournissez une documentation d'API et des messages d'erreur indiquant aux clients de lire l'ETag puis de mettre à jour avec If-Match.
Associés: 412, 409
|
|
429
|
Too Many Requests
RFC 6585
|
Le client a envoyé trop de requêtes pendant une période donnée. |
Courant avec les rate limits d'API, limites de tentatives de connexion, blocage de bots et rafraîchissements excessifs. |
Vérifiez Retry-After, les en-têtes de rate limit, les limites par utilisateur ou token et la stratégie de backoff.
Associés: 403, 503
|
|
431
|
Request Header Fields Too Large
RFC 6585
|
L'ensemble des en-têtes de requête ou un champ d'en-tête précis est trop volumineux. |
Peut se produire lorsque les cookies deviennent trop gros ou que des tokens d'authentification, en-têtes de suivi ou en-têtes ajoutés par proxy s'accumulent. |
Réduisez la taille de Cookie, de l'en-tête Authorization et des en-têtes ajoutés par les chaînes de proxies.
Associés: 400, 413, 414
|
|
451
|
Unavailable For Legal Reasons
RFC 7725
|
La ressource ne peut pas être fournie pour des raisons légales. |
Utilisé lorsque l'accès au contenu est restreint par des décisions de justice, demandes gouvernementales, avis de copyright ou réglementations locales. |
Confirmez que le code sert à identifier de façon transparente une exigence légale, contrairement à un 403 ou 404 générique.
Associés: 403, 404, 410
|