Tout utilisateur d’Internet est confronté un jour ou l’autre au message „Erreur 404 – cette page n’existe pas„. Il s’agit de l’un des nombreux codes d’état HTTP avec lesquels le serveur répond à la demande de votre client. Ceux-ci se composent d’un nombre à trois chiffres et donnent des informations sur le succès ou l’échec d’une requête. Dans cet article, nous avons résumé pour vous les principaux codes d’état HTTP et leur signification.
On entend par là la réponse d’un serveur à une requête HTTP („Request“) d’un client. En règle générale, il s’agit d’un navigateur web (par exemple Chrome, Firefox ou Opera).
Le premier chiffre des codes à trois chiffres représente la classe de statut (p. ex. „Erreur serveur“ ou „Opération réussie“). De plus, ils sont classés dans différents documents RFC („Request for Comments“).
En règle générale, le navigateur web n’affiche pas les codes d’état. Pour les observer, vous avez besoin d’outils spéciaux ou d’extensions de navigateur correspondantes.
Aperçu des principaux codes d’état HTTP
1xx : Codes informatifs
Code |
Message |
Version HTTP |
Description |
100 |
Continue |
1.1 |
La demande a été acceptée, mais est toujours en cours de traitement. Le serveur attend d’autres demandes du client. |
101 |
Protocoles de commutation |
1.1 |
Ce code est généralement demandé du côté du client et indique que le serveur accepte de changer de protocole (par exemple de HTTP à un autre protocole). |
102 |
Traitement |
2.0 |
Sert à éviter les time-out pendant que le serveur traite des requêtes qui prennent beaucoup de temps (par ex. suite à une requête WebDAV avec plusieurs SubRequests). |
Bon à savoir : WebDAV (Web-based Distributed Authoring and Versioning) a été développé pour pouvoir traiter et modifier des documents et des fichiers au sein d’un réseau sur la base de HTTP.
2xx : opérations réussies
Code |
Message |
Version HTTP |
Description |
200 |
OK |
1.0 / 1.1 |
La demande a abouti. Le résultat est transmis en même temps que la réponse. |
201 |
Créé |
1.0 / 1.1 |
Une nouvelle ressource a été créée et chargée entre-temps. Un code 201 est typiquement transmis en tant que réponse du serveur à une requête dite PUT. |
202 |
Accepted |
1.0 / 1.1 |
La demande du client a été acceptée, mais ne sera exécutée qu’ultérieurement. |
203 |
Information non-autoritaire |
1.0 / 1.1 |
Le serveur joue le rôle de „proxy de transformation“. Il reçoit un code 200 de la source et fournit ensuite une version modifiée de la réponse (de la source). |
204 |
Pas de contenu |
1.0 / 1.1 |
La demande a abouti, mais la réponse ne contient (délibérément) aucune donnée. L’ancien contenu doit continuer à être affiché aux clients. |
205 |
Réinitialisation du contenu |
1.1. |
La demande a abouti. Le client doit recharger le document et réinitialiser les données du formulaire. |
206 |
Contenu partiel |
1.1. |
Si le client envoie une requête dite „Range Header“, le serveur répond par le code 206 et informe de la transmission de parties de la ressource demandée. Les téléchargements interrompus et repris en sont un exemple typique. |
207 |
Multi-états |
2.0. |
La réponse comprend un document XML contenant plusieurs codes de statut relatifs à des opérations indépendantes. |
208 |
Already Reported |
1.1 |
Le code 208 est utilisé au sein d’une liaison WebDAV et indique que les membres de la liaison ont déjà été énumérés auparavant et ne sont donc plus présents dans cette réponse. |
226 |
IM Used |
Le serveur a répondu à une requête GET. La réponse contient le résultat d’une ou plusieurs manipulations d’instance de cette instance. |
3xx : Redirections
Code |
Message |
Version HTTP |
Description |
300 |
Choix multiples |
1.1 |
La ressource demandée existe sous plusieurs formes. La réponse contient une liste des variantes possibles. |
301 |
Moved Permanently |
1.0 / 1.1 |
Le code 301 (redirect) indique que la ressource demandée sera disponible à l’avenir à l’adresse indiquée dans le champ „Location“ de l’en-tête. L’ancienne adresse n’est plus valable. |
302 |
Found (Moved Temporarily) |
1.0 / 1.1 |
Selon le code d’état 302, la ressource est temporairement disponible à l’adresse indiquée dans l’en-tête. L’ancienne adresse reste toutefois valable. |
303 |
See Other |
1.1 |
La réponse du serveur peut être récupérée sous une autre adresse URI à l’aide de la méthode GET. Il est ainsi possible de passer sans transition à une ressource sélectionnée après une requête POST. |
304 |
Non modifié |
1.0 / 1.1 |
Le code d’état 304 indique que le contenu de la ressource demandée n’a pas été modifié depuis la dernière demande. La réponse ne contient donc pas non plus de données. |
305 |
Use Proxy |
1.1 |
La ressource n’est accessible que par le proxy indiqué dans l’en-tête „Location“. |
306 |
(non utilisé) |
1.1 |
Le code d’état 306 est certes réservé, mais il n’est plus utilisé. Il servait à l’origine pour la réponse „Switch Proxy“. |
307 |
Redirection temporaire |
1.1 |
La ressource demandée a été trouvée et est temporairement disponible à l’adresse indiquée dans le champ „Location“ de l’en-tête. L’ancienne adresse reste toutefois valable. Le navigateur doit suivre avec la même méthode que pour la requête initiale. |
308 |
Redirection permanente |
La ressource demandée a été trouvée et est temporairement disponible à l’adresse indiquée dans le champ „Location“ de l’en-tête. L’ancienne adresse n’est plus valable. Les prochaines requêtes du navigateur doivent être effectuées avec la même méthode que celle utilisée pour la requête initiale. |
4xx : Erreur de client
Code |
Message |
Version HTTP |
Description |
400 |
Mauvaise requête |
1.0 / 1.1 |
La requête était erronée, elle ne peut donc pas être traitée par le serveur. |
401 |
Non autorisé |
1.0 / 1.1 |
La demande ne peut pas être traitée sans l’autorisation correspondante. L’en-tête de réponse WWW_Authenticate explique comment procéder à l’authentification. |
402 |
Paiement requis |
1.1 |
Le paiement est requis. Le code d’état est réservé à une utilisation future. |
403 |
Forbidden |
1.0 / 1.1 |
L’erreur HTTP 403 indique que l’accès au contenu est interdit de manière permanente, faute d’autorisation du client. La demande ne doit pas être réitérée. |
404 |
Not Found |
1.0 / 1.1 |
Le serveur n’a pas pu trouver la ressource demandée. La cause en est, dans la plupart des cas, ce que l’on appelle un „lien mort“. |
405 |
Méthode non autorisée |
1.1 |
Le code d’état 405 indique que la méthode de requête n’est pas autorisée et ne peut être posée qu’avec d’autres méthodes (par ex. GET ou POST). |
406 |
Not Acceptable |
1.1 |
Le code d’état 406 indique que la ressource demandée n’est pas fournie sous la forme souhaitée par le client. |
407 |
Proxy Authentication Required |
1.1 |
Comme pour le code d’état 401, cette réponse requiert une authentification. Dans ce cas, le client doit toutefois s’identifier auprès d’un proxy, qui doit pour cela fournir le champ de réponse Proxy-Authenticate. |
408 |
Délai d’attente de la demande |
1.1 |
Le client n’a pas terminé la requête dans le temps imparti par le serveur. L’erreur HTTP 408 se produit par exemple lors du téléchargement de gros fichiers, etc. |
409 |
Conflit |
1.1 |
La demande a été faite sur la base d’hypothèses erronées et ne peut pas être traitée, car sinon un cas de conflit surviendrait auprès de la ressource qui fait la demande. Dans le cas d’une demande PUT, cela peut par exemple être dû à une modification de la ressource par des tiers entre-temps. |
410 |
Gone |
1.1 |
La ressource n’existe plus et a été définitivement supprimée. |
411 |
Longueur requise |
1.1 |
Le traitement de la demande sans en-tête „Content-Length“ est refusé par le serveur. |
412 |
Precondition Failed |
1.1 |
Une condition prédéfinie par le client ne peut pas être remplie. |
413 |
Request Entity Too Large |
1.1 |
La demande formulée était trop grande pour être traitée par le serveur et est donc refusée. La cause peut être, par exemple, un fichier téléchargé. |
414 |
URI Too Long |
1.1 |
L’URL de la demande est trop longue. |
415 |
Unsupported Media Type |
1.1 |
Le type de média ou le type MIME demandé n’est pas pris en charge. |
416 |
Gamme demandée non satisfaisante |
1.1 |
La plage partielle de la ressource demandée n’existe pas ou n’est pas valide. Se produit par exemple dans le contexte de téléchargements partiels. |
417 |
Expectation Failed |
1.1 |
Utilisé en relation avec un champ d’en-tête „Expect“. Le comportement du serveur demandé par le client dans le champ d’en-tête „Expect“ ne peut pas être satisfait. |
420 |
Policy Not Fulfilled |
1.1 |
Proposition dans le W3C PEP (Working Draft 21 novembre 1997) pour indiquer qu’une condition n’a pas été remplie. |
421 |
Misdirected Request |
2.0 |
La demande a été envoyée à un serveur qui n’est pas en mesure d’envoyer une réponse. |
422 |
Unprocessable Entity |
1.1 |
Le code d’état est utilisé lorsque ni le renvoi du code d’état 415 ni celui du code 400 ne seraient justifiés, mais que le traitement de la demande est refusé (par exemple en raison d’erreurs sémantiques). |
423 |
Verrouillé |
1.1 |
La ressource demandée est actuellement verrouillée. |
424 |
Failed Dépendance |
1.1 |
La demande n’a pas pu être exécutée car elle suppose la réussite d’une demande précédente. |
426 |
Upgrade Required (mise à niveau requise) |
1.1 |
Le serveur insiste pour que le client répète la requête avec un autre protocole. Un cas d’utilisation typique est le passage à HTTP avec Transport Layer Security. |
428 |
Précondition Required |
1.1 |
Les conditions préalables nécessaires à la requête n’ont pas toutes été remplies. |
429 |
Trop de demandes |
1.1 |
Le client a fait trop de demandes dans un laps de temps donné. |
431 |
Champs d’en-tête de requête trop grands |
1.1 |
La longueur maximale d’un champ d’en-tête ou de l’ensemble de l’en-tête a été dépassée. |
451 |
Unavailable For Legal Reasons (indisponible pour des raisons légales) |
1.1 |
La ressource est indisponible pour des raisons légales (par ex. en raison de droits d’auteur ou de la censure dans certains pays). Le code de statut a été introduit en 2015 et tire son nom du roman de Ray Bradbury „Fahrenheit 451“. |
Il est bon à savoir : Avec le statut 418, il existe encore un autre code dans la catégorie des erreurs de client. Au sein d’un protocole pas très sérieux pour faire du café (Hyper Text Coffee Pot Control Protocol), il indique qu’une théière a été utilisée par erreur au lieu d’une cafetière. Le code d’état ne fait toutefois pas partie de HTTP et n’est pas défini dans le SCR („Status Code Registry“).
5xx : Erreur de serveur
Code |
Message |
Version HTTP |
Description |
500 |
Erreur interne du serveur |
1.0 / 1.1 |
Le code d’état 500 s’affiche lorsque la requête ne peut pas être exécutée en raison d’une erreur interne (de serveur). |
501 |
Not Implemented |
1.0 / 1.1 |
Le serveur ne dispose pas de la fonctionnalité nécessaire pour pouvoir traiter la demande. La cause en est souvent une méthode HTTP inconnue ou non prise en charge. |
502 |
Mauvaise passerelle |
1.0 / 1.1 |
L’erreur HTTP 502 signifie que le serveur n’a pas pu remplir sa fonction de passerelle ou de proxy, car une erreur est survenue dans la suite du processus. |
503 |
Service indisponible |
1.0 / 1.1 |
Le service ou le serveur n’est pas disponible pour le moment. C’est par exemple le cas lors de travaux de maintenance ou de surcharge, etc. |
504 |
Timeout de la passerelle |
1.1 |
La demande ne peut pas être traitée par le proxy en raison d’un dépassement de temps. |
505 |
Version HTTP non supportée |
1.1 |
La version HTTP demandée n’est pas prise en charge. |
506 |
Variant Also Negotiates |
L’accord sur le contenu de la requête donne une référence circulaire. |
|
507 |
Stockage insuffisant |
La requête n’a pas pu être traitée, car l’espace mémoire actuellement disponible sur le serveur n’est pas suffisant pour cela. |
|
508 |
Loop Detected |
L’opération n’a pas été exécutée, car l’exécution serait entrée dans une boucle sans fin. Le code d’état est défini dans l’extension Binding pour WebDAV (selon RFC 5842), car les bindings peuvent créer des chemins cycliques vers les ressources WebDAV. |
|
509 |
Limite de bande passante dépassée |
La demande du client a été rejetée, sinon la bande passante disponible aurait été dépassée. Ce code d’état est une extension non officielle de certains serveurs. |
|
510 |
Not Extended |
La requête ne contient pas toutes les informations que l’extension de serveur demandée attend obligatoirement (RFC 2774). |
|
511 |
Network Authentication Required |
Le client doit s’authentifier avant de pouvoir accéder au réseau. |
Remarque : certains fabricants de logiciels utilisent des codes d’état HTTP propriétaires, qui sont chiffrés à partir de 9XX. Il s’agit toutefois d’un cas particulier qui n’est pas mentionné dans les documents RFC et qui se situe donc également au-delà de la norme.
Dans la vidéo suivante, les principaux codes d’état HTTP sont expliqués une nouvelle fois :