Site icon Test-logiciel

Codes d’état HTTP : Aperçu

http status codes

Error 404 (page not found) and status code 200 OK written on one empty and one full toilet paper roll.

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.

Qu’est-ce qu’un code d’état HTTP ?

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).

Que signifient les chiffres des codes d’état HTTP ?

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 »).

Comment puis-je vérifier les codes d’état HTTP ?

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 :

Quitter la version mobile