API REST : HTTP Status Codes et leurs significations
En mettant en place un API REST, il est important de connaître les réponses que peuvent retourner le serveur à chaque requête, c'est là qu’intervient les HTTP status codes ( codes d’état ).
Les API REST utilisent la partie Status-Line d'un message de la réponse HTTP pour informer les clients du résultat global de leur requête. RFC 2616 définit la syntaxe Status-Line comme indiqué ci-dessous :
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
HTTP définit ces codes d'état standard qui peuvent être utilisés pour transmettre les résultats de la demande d'un client. Les codes d'état sont divisés en cinq catégories.
- 1xx : Informationnel – Communique des informations au niveau du protocole de transfert.
- 2xx : Succès – Indique que la demande du client a été acceptée avec succès.
- 3xx : Redirection – Indique que le client doit prendre des mesures supplémentaires afin de compléter sa demande.
- 4xx : Erreur client – Cette catégorie de codes d'état d'erreur pointe du doigt les clients.
- 5xx : Erreur de serveur – Le serveur assume la responsabilité de ces codes d'état d'erreur.
1xx HTTP codes : Informationnel
Code http
|
Signification
|
Description
|
---|---|---|
100
|
Continue
|
Une réponse intermédiaire. Indique au client que la partie initiale de la requête a été reçue et n'a pas encore été rejetée par le serveur. Le client DEVRAIT continuer en envoyant le reste de la requête ou, si la requête a déjà été complétée, ignorer cette réponse. Le serveur DOIT envoyer une réponse finale une fois la requête terminée.
|
101
|
Switching Protocol
|
Envoyé en réponse à un en-tête de requête de mise à niveau du client et indique le protocole vers lequel le serveur bascule.
|
102
|
Processing (WebDAV)
|
Indique que le serveur a reçu et traite la requête, mais qu'aucune réponse n'est encore disponible.
|
103
|
Early Hints
|
Principalement destiné à être utilisé avec l'en-tête
Link . Il suggère que l'agent utilisateur commence à précharger les ressources pendant que le serveur prépare une réponse finale. |
2xx HTTP codes : Succès
Code Http
|
Signification
|
Description
|
---|---|---|
200
|
OK
|
Indique que la requête a réussi.
|
201
|
Created
|
Indique que la requête a réussi et qu'une nouvelle ressource a été créée en conséquence.
|
202
|
Accepted
|
Indique que la requête a été reçue mais pas encore terminée. Il est généralement utilisé dans les requêtes d'exécution de journaux et le traitement par lots.
|
203
|
Non-Authoritative Information
|
Indique que les méta-informations renvoyées dans l'en-tête d'entité ne sont pas l'ensemble définitif tel que disponible sur le serveur d'origine, mais sont collectées à partir d'une copie locale ou tierce. L'ensemble présenté PEUT être un sous-ensemble ou un sur-ensemble de la version originale.
|
204
|
No content
|
Le serveur a répondu à la requête mais n'a pas besoin de renvoyer un corps dans la réponse. Le serveur peut renvoyer les méta-informations mises à jour.
|
205
|
Reset content
|
Indique au client de réinitialiser le document qui a envoyé cette requête.
|
206
|
Partial content
|
Il est utilisé lorsque l'en-tête
Range est envoyé par le client pour ne demander qu'une partie d'une ressource. |
207
|
Multi-Status (WebDAV)
|
Un indicateur pour un client que plusieurs opérations se sont produites et que l'état de chaque opération peut être trouvé dans le corps de la réponse.
|
208
|
Already Reported (WebDAV)
|
Permet à un client d'indiquer au serveur que la même ressource (avec la même liaison) a été mentionnée précédemment. Il n'apparaît jamais comme un véritable code de réponse HTTP dans la ligne d'état et n'apparaît que dans les corps.
|
226
|
IM used
|
Le serveur a répondu à une requête GET pour la ressource, et la réponse est une représentation du résultat d'une ou plusieurs manipulations d'instance appliquées à l'instance actuelle.
|
3xx HTTP codes : Redirection
Code Http
|
Signification
|
Description
|
---|---|---|
300
|
multiple choices
|
La requête a plus d'une réponse possible. L'agent utilisateur ou l'utilisateur doit en choisir un.
|
301
|
Moved permanently
|
L'URL de la ressource demandée a été modifiée de façon permanente. La nouvelle URL est donnée par le champ
Location d'en-tête dans la réponse. Cette réponse peut être mise en cache sauf indication contraire. |
302
|
Found
|
L'URL de la ressource demandée a été temporairement modifiée. La nouvelle URL est donnée par le chaamp
Location dans la réponse. Cette réponse ne peut être mise en cache que si elle est indiquée par un champ d'en-tête Cache-Control ou Expires . |
303
|
See Other
|
La réponse peut être trouvée sous un URI différent et DEVRAIT être récupérée en utilisant une méthode GET sur cette ressource.
|
304
|
Not Modified
|
Indique au client que la réponse n'a pas été modifiée, afin que le client puisse continuer à utiliser la même version mise en cache de la réponse.
|
305
|
Use Proxy (Obsolète)
|
Indique qu'une réponse demandée doit être accessible par un proxy.
|
306
|
(Inutilisé)
|
C'est un code d'état réservé et il n'est plus utilisé.
|
307
|
Temporary Redirect
|
Indique au client d'obtenir la ressource demandée à un autre URI avec la même méthode que celle utilisée dans la requête précédente. Il est similaire à
302 Found une exception près que la même méthode HTTP sera utilisée que celle utilisée dans la requête précédente. |
308
|
Permanent Redirect (experimental)
|
Indique que la ressource est maintenant située de manière permanente à un autre URI, spécifié par l'en-tête
Location . Il est similaire à 301 Moved Permanently une exception près que la même méthode HTTP sera utilisée que celle utilisée dans la requête précédente. |
4xx HTTP codes : Erreur Client
Code Http
|
Signification
|
Description
|
---|---|---|
400
|
Bad Request
|
La requête n'a pas pu être comprise par le serveur en raison d'une syntaxe incorrecte. Le client NE DEVRAIT PAS répéter la requête sans modifications.
|
401
|
Unauthorized
|
Indique que la requête nécessite des informations d'authentification de l'utilisateur. Le client PEUT répéter la requête avec un champ d'en-tête d'autorisation approprié
|
402
|
Payment Required (Experimental)
|
Réservé pour une utilisation future. Il est destiné à être utilisé dans les systèmes de paiement numériques.
|
403
|
Forbidden
|
Requête non autorisée. Le client n'a pas les droits d'accès au contenu. Contrairement au 401, l'identité du client est connue du serveur.
|
404
|
Not Found
|
Le serveur ne trouve pas la ressource demandée.
|
405
|
Method Not Allowed
|
La méthode HTTP de requête est connue du serveur mais a été désactivée et ne peut pas être utilisée pour cette ressource.
|
406
|
Not Acceptable
|
Le serveur ne trouve aucun contenu conforme aux critères donnés par l'agent utilisateur dans l'en-tête
Accept envoyé dans la requête. |
407
|
Proxy Authentication Required
|
Indique que le client doit d'abord s'authentifier auprès du proxy.
|
408
|
Request Timeout
|
Indique que le serveur n'a pas reçu une requête complète du client dans le délai d'attente alloué au serveur.
|
409
|
Conflict
|
La requête n'a pas pu être traitée en raison d'un conflit avec l'état actuel de la ressource.
|
410
|
Gone
|
La ressource demandée n'est plus disponible sur le serveur.
|
411
|
Length Required
|
Le serveur refuse d'accepter la requête sans une longueur de contenu définie. Le client PEUT répéter la demande s'il ajoute un champ
Content-Length d'en-tête valide. |
412
|
Precondition Failed
|
Le client a indiqué dans ses en-têtes des conditions préalables que le serveur ne respecte pas.
|
413
|
Request Entity Too Large
|
L'entité de la requête est supérieure aux limites définies par le serveur.
|
414
|
Request-URI Too Long
|
L'URI demandée par le client est plus longue que le serveur ne peut l'interpréter.
|
415
|
Unsupported Media Type
|
Le type de média dans le champ
Content-type n'est pas pris en charge par le serveur. |
416
|
Requested Range Not Satisfiable
|
La plage spécifiée par le champ
Range d'en-tête dans la requête ne peut pas être remplie. |
417
|
Expectation Failed
|
L'attente indiquée par le champ
Expect d'en-tête de la requête ne peut pas être satisfaite par le serveur. |
418
|
I’m a teapot (RFC 2324)
|
Il a été défini comme la blague d'avril et ne devrait pas être implémenté par les serveurs HTTP réels. ( RFC 2324 )
|
419
|
Page Expired
|
indique qu'une session a expiré lors du traitement d'une demande de publication
|
420
|
Enhance Your Calm (Twitter)
|
Renvoyé par l'API Twitter Search and Trends lorsque le débit du client est limité.
|
422
|
Unprocessable Entity (WebDAV)
|
Le serveur comprend le type de contenu et la syntaxe de l'entité de requête, mais le serveur n'est toujours pas en mesure de traiter la requête pour une raison quelconque.
|
423
|
Locked (WebDAV)
|
La ressource en cours d'accès est verrouillée.
|
424
|
Failed Dependency (WebDAV)
|
La requête a échoué en raison de l'échec d'une requête précédente.
|
425
|
Too Early (WebDAV)
|
Indique que le serveur ne veut pas prendre le risque de traiter une requête qui pourrait être rejouée.
|
426
|
Upgrade Required
|
Le serveur refuse d'exécuter la requête. Le serveur traitera la demande après la mise à niveau du client vers un protocole différent.
|
428
|
Precondition Required
|
Le serveur d'origine exige que la demande soit conditionnelle.
|
429
|
Too Many Requests
|
L'utilisateur a envoyé trop de demandes dans un laps de temps donné ("limitation du débit").
|
431
|
Request Header Fields Too Large
|
Le serveur ne veut pas traiter la demande car ses champs d'en-tête sont trop volumineux.
|
444
|
No Response (Nginx)
|
Le serveur Nginx ne renvoie aucune information au client et ferme la connexion.
|
449
|
Retry With (Microsoft)
|
La demande doit être réessayée après avoir effectué l'action appropriée.
|
450
|
Blocked by Windows Parental Controls (Microsoft)
|
Les contrôles parentaux de Windows sont activés et bloquent l'accès à la page Web donnée.
|
451
|
Unavailable For Legal Reasons
|
L'agent utilisateur a demandé une ressource qui ne peut pas légalement être fournie.
|
499
|
Client Closed Request (Nginx)
|
La connexion est fermée par le client pendant que le serveur HTTP traite sa demande, ce qui empêche le serveur de renvoyer l'en-tête HTTP.
|
5xx HTTP codes : Erreur serveur
Code d'état
|
signification
|
Description
|
---|---|---|
500
|
Internal Server Error
|
Le serveur a rencontré une condition inattendue qui l'a empêché de répondre à la demande.
|
501
|
Not Implemented
|
La méthode HTTP n'est pas prise en charge par le serveur et ne peut pas être gérée.
|
502
|
Bad Gateway
|
Le serveur a reçu une réponse non valide alors qu'il travaillait comme passerelle pour obtenir la réponse nécessaire pour traiter la demande.
|
503
|
Service Unavailable
|
Le serveur n'est pas prêt à traiter la demande (ou en maintenance )
|
504
|
Gateway Timeout
|
Le serveur agit comme une passerelle et ne peut pas obtenir de réponse à temps pour une demande.
|
505
|
HTTP Version Not Supported (Experimental)
|
La version HTTP utilisée dans la requête n'est pas prise en charge par le serveur.
|
506
|
Variant Also Negotiates (Experimental)
|
Indique que le serveur a une erreur de configuration interne : la ressource de variante choisie est configurée pour s'engager elle-même dans une négociation de contenu transparente et n'est donc pas un point de terminaison approprié dans le processus de négociation.
|
507
|
Insufficient Storage (WebDAV)
|
La méthode n'a pas pu être exécutée sur la ressource car le serveur n'est pas en mesure de stocker la représentation nécessaire pour mener à bien la demande.
|
508
|
Loop Detected (WebDAV)
|
Le serveur a détecté une boucle infinie lors du traitement de la requête.
|
510
|
Not Extended
|
D'autres extensions de la requête sont nécessaires pour que le serveur la satisfasse.
|
511
|
Network Authentication Required
|
Indique que le client doit s'authentifier pour accéder au réseau.
|
Si vous avez d'autres descriptions ou d’autres codes d'état non repris dans la liste, laissez moi un commentaire.
Voir plus
0 commentaire(s)
Posts similaires
Comment héberger son site web gratuitement étape par étape sur Netlify.
Comment Installer WhatsApp sur PC sans Téléphone ?
Comment visualiser votre site web local sur un téléphone portable depuis Wampserver
Qu'est-ce qu'Emmet ? Comment utiliser Emmet pour accélérez votre codage ?
API REST : HTTP Status Codes et leurs significations
Catégories
Soyez au courant des dernières tendances
Abonnez-vous pour obtenir les meilleurs articles, tutoriels, astuces et informations !
Laissez votre commentaire à @johnmbiya