HTTP Status Code

Les HTTP status codes sont des codes de réponse permettant d'indiquer si une requête HTTP a bien été exécutée ou non. Il existe 5 types de réponses. Dans chacune de ces catégories, plusieurs codes indiquent le statut de la requête.

Code 1XX : réponses informatives.

Les codes de statut de réponse commençant par 1 indiquent une réponse informative du serveur. Ils ne signalent ni une erreur ni un succès, mais délivrent simplement une information au client. Il en existe 3 :

Code Description
100 Le code 100, ou Continue, indique au client que tout est OK. Ce code l'invite à poursuivre sa requête envers le serveur ou bien à quitter si celle-ci est terminée.
101 Le code 101 est appelé Switching Protocol. Il constitue une réponse à la requête Upgrade du client. Il sert à lui indiquer par quel protocole le serveur passe pour récupérer les données.
103 Le code 103 ou Processing informe le client du fait que le serveur a bien reçu la requête et qu'il est en train de la traiter. Il s'affiche lorsqu'aucune réponse de succès ou d'échec n'est encore disponible.

Code 2XX : réponses de succès.

Les codes HTTP débutant par 2 sont au nombre de 10. Tous indiquent un message de succès de la part du serveur.

Code Description
200 Le code 200 est le plus généraliste. Il indique au client que la requête a fonctionné. Selon la méthode HTTP utilisée pour communiquer avec le serveur, le message de succès peut prendre différentes significations. Ainsi, GET indique que la donnée a pu être récupérée et qu'elle est transmise dans le corps du message, tandis que HEAD sert à récupérer les en-têtes d'entité. Le message de succès indique alors que ces en-têtes sont dans le corps du message serveur.
201 201, ou Created est le message qui s'affiche lorsque le succès de la requête a entraîné la création d'une nouvelle ressource, correspondant au résultat de cette requête. Cette réponse est envoyée par le serveur généralement après une requête PUT.
202 Le code 202 confirme au client que la requête a bien été reçue, mais qu'elle n'est pas encore traitée. Cette réponse permet au serveur d'indiquer qu'il ne dispose d'aucun moyen d'indiquer le résultat du traitement de la requête en HTTP. Elle est utile uniquement dans le cas où un autre serveur est chargé de traiter la requête.
203 203, ou « Non-Authoritative Information » indique que les informations renvoyées par le serveur ne correspondent pas exactement à celles du serveur d'origine. Il est possible que ces données proviennent d'une copie.
204 Le code 204 indique qu'aucun contenu ne correspond à la requête formulée.
205 205, ou Reset content, conseille à l'utilisateur de réinitialiser le document à l'origine de la requête.
206 206 correspond à Partial content. Il est utilisé pour répondre à un utilisateur ayant utilisé la requête Range, servant à séparer le téléchargement en plusieurs flux.
207 / 208 Les codes de statut de réponse 207 et 208 interviennent dans le cas où plusieurs ressources peuvent répondre à des codes de statut multiples. Cette situation est indiquée au client par le code 207. Le code 208 prend la relève pour éviter d'énumérer plusieurs fois les membres internes d'un binding multiple vers une seule et même collection.
226 Le code 226 ou IM Used intervient dans le cas où l'utilisateur a formulé une requête GET. Il indique que la réponse affichée est une représentation du résultat obtenu, et que celui-ci a été adapté à l'instance utilisée pour l'afficher.

Code 3XX : redirections.

Les codes de statut de réponse débutant par le chiffre 3 sont connus pour leur utilisation en SEO. Ils servent à afficher des messages de redirection.

Code Description
300 Le code 300, Multiple Choice indique que la requête admet plusieurs réponses. L'utilisateur devra donc choisir l'une d'entre elles.
301 Le message 301, ou Moved Permanently précise au client que l'URL de la ressource qu'il recherche a été modifiée de façon permanente. La réponse du serveur indique généralement la nouvelle URL à utiliser. Le code 302 est relativement proche du 301. Il indique que l'URL a été modifiée de manière temporaire.
303 Le code HTTP 303 sert à rediriger le client vers la ressource qu'il recherche à l'aide d'une requête de type GET. Il lui indique l'URL à suivre pour accéder à la ressource.
304 Le code 304 est utilisé dans le cas où l'utilisateur a recours à un cache. Le serveur lui précise alors que la réponse n'a pas été modifiée. Le client peut alors utiliser la même version de réponse, même si celle-ci est mise en cache.
307 / 308 les codes HTTP de statut de réponse 307 et 308 indiquent des redirections permanentes ou temporaires d'URL, à la sémantique très proche des 301 et 302. Ils ont pour spécificités d'indiquer à l'utilisateur d'utiliser la même méthode pour formuler sa requête, et ce même si l'URL a changé.

Code 4XX : réponses d'erreur côté client.

Les codes HTTP débutant par 4 servent à indiquer une erreur du côté du client.

Code Description
400 Le code 400, Bad Request indique au client une mauvaise syntaxe dans la requête.
401 Le code 401 informe l'utilisateur de l'obligation de s'identifier auprès du serveur pour accéder aux ressources.
403 Le code 403 est assez proche de 401 : le client est dans ce cas identifié, mais n'a pas les droits d'accès au contenu en question.
404 Le code HTTP 404 fait partie des plus courants, notamment sur les sites web. Dans ce cas, le serveur n'a pas trouvé la ressource demandée par l'utilisateur.
405 405 est un code utilisé par le serveur pour indiquer que la méthode utilisée par le client pour formuler la requête n'est pas autorisée. Dans ce cas, le serveur connaît la méthode utilisée, mais n'est pas en mesure de l'accepter.
415 Parfois, le problème provient du format média des ressources, que le serveur n'est pas en mesure de supporter. Il refuse alors la requête en indiquant le code 415.

Code 5XX : réponses d'erreur côté serveur.

Les codes de statut de réponse HTTP 500 servent à informer d'une erreur du côté du serveur.

Code Description
500 Le code 500 Internal Error prévient d'une erreur interne : le serveur n'est pas en mesure de traiter la situation qu'il rencontre.
501 501 est, quant à lui, utilisé quand le serveur ne supporte pas la méthode utilisée pour exprimer la requête. Il faut dans ce cas privilégier les méthodes GET et HEAD.
503 503 Service Unavailable informe le client que le serveur n'est pas prêt pour traiter sa requête. Il se peut que le serveur soit surchargé ou tout simplement éteint.