Suivez-nous sur X
|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Dossier : Les codes HTTP
(Article écrit par David Brunet - septembre 2005)
|
|
Quand vous naviguez sur Internet, votre navigateur génère des requêtes HTTP aux serveurs, qui répondent en retournant soit le document demandé, soit un code d'erreur. Ces réponses de serveurs sont les codes de statut HTTP. Il y en existe une quarantaine dans la version actuelle, le HTTP /1.1.
Un code de statut HTTP est représenté par un nombre à 3 chiffres. Il est très souvent accompagné d'une courte phrase
en anglais, que l'on appelle la raison. Les codes sont regroupés en 5 classes : les codes d'information
(numérotés 1xx), de succès (2xx), de redirection (3xx), d'erreur client (4xx) et d'erreur serveur (5xx).
Nous allons ici détailler ces codes. Cette page s'inspire du
RFC 2616 (chapitre 10)
qui définit les codes de statut HTTP.
Les codes d'information (1xx)
Cette classe de codes de statut indique une information. C'est une réponse provisoire, qui consiste en un en-tête
"Status-Line" et se finit par une ligne vide. Les codes 1xx inconnus doivent être ignorés par le client.
Code |
Statut |
Description et commentaire |
100 |
Continue (Continuer) |
Attente de la suite de la requête. La première partie de la requête a bien été reçue et le client peut continuer avec la suite de cette requête. |
101 |
Switching Protocols (Changement de protocoles) |
Le serveur accepte la requête du client pour changer de protocole.
Le client a demandé au serveur d'utiliser un autre protocole que celui actuellement utilisé, et le serveur accepte cette requête. |
Les codes de succès (2xx)
Cette classe de codes de statut indique que la requête du client a été reçue/comprise/acceptée avec succès.
Code |
Statut |
Description et commentaire |
200 |
OK (OK) |
La requête HTTP a été traitée avec succès.
L'information retournée avec la réponse dépend de la méthode utilisée dans la requête. La
réponse à une requête GET classiquement émise
par un navigateur Web sera la ressource demandée (c'est-à-dire une page
HTML, une image, etc.). |
201 |
Created (Créé) |
La requête a été correctement traitée et une nouvelle ressource a été créée.
Cette ressource peut être référencée par l'URI retournée dans le corps de
la réponse, avec l'URL la plus précise pour la ressource indiquée dans l'en-tête
du champ "Location". |
202 |
Accepted (Accepté) |
La requête a été acceptée pour être traitée, mais son traitement peut ne pas avoir abouti.
Ce code est utilisé en remplacement du 201 lorsque le traitement ne peut pas avoir lieu immédiatement,
son résultat est donc indéterminé. |
203 |
Non-Authoritative Information (Information non certifiée) |
L'information retournée n'a pas été générée par le serveur HTTP mais par une autre source non authentifiée. |
204 |
No Content (Pas de contenu) |
Le serveur HTTP a correctement traité la requête mais il n'y a pas d'information à envoyer en retour.
Cela peut par exemple se produire lorsqu'un fichier HTML ou le résultat d'un programme CGI-BIN est vide. |
205 |
Reset Content (Contenu réinitialisé) |
Le client doit remettre à zéro le formulaire utilisé dans cette transaction.
Ce code est envoyé au navigateur quand il doit réinitialiser un formulaire généré dynamiquement
par un CGI-BIN, par exemple. |
206 |
Partial Content (Contenu partiel) |
Le serveur retourne une partie seulement de la taille demandée.
Ce code est utilisé lorsqu'une requête spécifiant une taille a été transmise. |
Les codes de redirection (3xx)
Cette classe de code de statut intervient pour les actions de redirection.
Ces actions sont traitées par le client afin de répondre à la requête.
Les anciennes versions de cette spécification recommandent un maximum de 5 redirections,
ce qui peut parfois bloquer l'accès aux sites Web demandant un plus grand nombre de redirections.
Code |
Statut |
Description et commentaire |
300 |
Multiple Choices (Choix multiples) |
L'URI demandé concerne plus d'une ressource. Par exemple, l'URI concerne un document
qui a été traduit en plusieurs langues. Le serveur doit retourner des informations indiquant comment choisir une ressource précise. |
301 |
Moved Permanently (Changement d'adresse définitif) |
La ressource demandée possède une nouvelle adresse (URI).
Toute référence future à cette ressource doit être faite en utilisant l'une
des URI retournées dans la réponse. Le navigateur doit normalement
charger automatiquement la ressource demandée à sa nouvelle adresse. |
302 |
Found (Trouvé) |
La ressource demandée réside temporairement à une adresse (URI) différente. Cette redirection étant temporaire, le navigateur doit continuer à utiliser l'URI original pour les requêtes futures. |
303 |
See Other (Voir ailleurs) |
L'URI spécifié est disponible à un autre URI et doit être demandé par un GET. |
304 |
Not Modified (Non modifié) |
Le navigateur a effectué une requête GET conditionnelle et l'accès est autorisé, mais le document
n'a pas été modifié. Cette réponse est fréquente et signifie que vous avez configuré votre navigateur pour
utiliser un cache HTTP (proxy) dans lequel une copie du document demandé est déjà stockée. Le proxy a
donc demandé au serveur si le document original avait changé depuis, et a reçu cette réponse. Il pourra
ainsi utiliser la copie locale. |
305 |
Use Proxy (Utiliser le proxy) |
L'URI spécifié doit être accédé en passant par le proxy. |
306 |
No Longer Used (N'est plus utilisé) |
Ce code n'est plus utilisé. Il l'était dans les anciennes versions des spécifications HTTP. |
307 |
Temporary Redirect (Redirigé temporairement) |
La ressource a été temporairement déplacée à un URI différent.
Le navigateur doit continuer à utiliser l'URI original pour les requêtes futures. |
Les erreurs du client (4xx)
La classe de statut 4xx est présente pour les fois où le client semble en cause. Le serveur se doit d'inclure
à ces erreurs une explication, que ce soient des erreurs temporaires ou permanentes. Ces codes et ces explications
sont affichés, par exemple, dans la fenêtre de votre navigateur.
Ci-dessus la page 404 personnalisée du site d'Obligement.
Code |
Statut |
Description |
400 |
Bad Request (Mauvaise requête) |
La requête HTTP n'a pas pu être comprise par le serveur en raison d'une syntaxe erronée.
Le problème peut provenir d'un navigateur trop récent ou d'un serveur HTTP trop ancien. |
401 |
Unauthorized (Non autorisé) |
La requête nécessite une identification de l'utilisateur.
Cela signifie que tout ou partie du serveur contacté est protégé
par un mot de passe, qu'il faut indiquer au serveur pour pouvoir accéder
à son contenu. |
402 |
Payment Required (Paiement exigé) |
Ce code n'est pas encore mis en oeuvre dans le protocole HTTP/1.1. |
403 |
Forbidden (Interdit) |
Le serveur HTTP a compris la requête, mais refuse de la traiter.
Ce code est généralement utilisé lorsqu'un serveur ne souhaite pas indiquer pourquoi la requête a
été rejetée, ou lorsqu'aucune autre réponse ne correspond. |
404 |
Not Found (Non trouvé) |
Le serveur n'a rien trouvé qui corresponde à l'adresse (URI) demandée.
Cela signifie que l'URL que vous avez tapée ou cliquée est mauvaise ou obsolète
et ne correspond à aucun document existant sur le serveur. |
405 |
Method Not Allowed (Méthode non autorisée) |
Ce code indique que la méthode utilisée par le client n'est pas gérée pour cet URI. |
406 |
Not Acceptable (Aucun disponible) |
L'adresse (URI) spécifiée existe, mais pas dans le format préféré du client.
Le serveur indique en retour le langage et les types d'encodages disponibles pour cette adresse. |
407 |
Proxy Authentication Required (Authentification proxy exigée) |
Le serveur proxy exige une authentification du client avant de transmettre la requête.
Presque similaire à 401 mais le client doit d'abord s'identifier avec le proxy.
|
408 |
Request Time-out (Requête hors-délai) |
Le client n'a pas présenté une requête complète pendant le délai maximal qui lui était imparti, et le serveur
a abandonné la connexion. |
409 |
Conflict (Conflit) |
La requête entre en conflit avec une autre requête ou avec la configuration du serveur. Des informations sur les raisons de ce conflit doivent être indiquées en retour. |
410 |
Gone (Parti) |
L'adresse (URI) demandée n'existe plus et a été définitivement supprimée du serveur.
Un peu comme le 404, le 410 fait référence à des ressources non disponibles. Ici, on sait pourquoi on ne peut pas
accéder à ces ressources : l'adresse a été supprimée, et ce, généralement par son possesseur. |
411 |
Length Required (Longueur exigée) |
Le serveur a besoin de connaître la taille de cette requête pour pouvoir y répondre. |
412 |
Precondition Failed (Précondition échouée) |
Les conditions spécifiées dans la requête ne sont pas remplies. |
413 |
Request Entity Too Large (Corps de requête trop grand) |
Le serveur ne peut traiter la requête car la taille de son contenu est trop importante. |
414 |
Request-URI Too Long (URI trop long) |
Le serveur ne peut traiter la requête car la taille de l'objet (URI) à retourner est trop importante. |
415 |
Unsupported Media Type (Format non géré) |
Le serveur ne peut traiter la requête car son contenu est écrit dans un format non géré. |
416 |
Requested range unsatifiable (Plage demandée invalide) |
Le sous-ensemble de recherche spécifié est invalide. |
417 |
Expectation failed (Comportement erroné) |
Le comportement prévu pour le serveur n'est pas géré. |
Les erreurs du serveur (5xx)
Les codes de statut commençant par le chiffre "5" indiquent des erreurs dues au serveur ou son incapacité à traiter une requête. Le serveur se doit d'inclure à ces erreurs une explication, que ce soient des erreurs temporaires ou permanentes. Ces codes et ces explications sont affichés, par exemple, dans la fenêtre de votre navigateur.
Code |
Statut |
Description et commentaire |
500 |
Internal Server Error (Erreur interne du serveur) |
Le serveur HTTP a rencontré une condition inattendue qui l'a empêché de traiter la requête.
Cette erreur peut, par exemple, être le résultat d'une mauvaise configuration
du serveur ou d'une ressource épuisée ou refusée au serveur sur la machine hôte. |
501 |
Not Implemented (Non implémenté) |
Le serveur HTTP ne gère pas la fonctionnalité nécessaire pour traiter la requête.
C'est la réponse émise lorsque le serveur ne reconnaît pas la méthode indiquée
dans la requête et n'est pas capable de la mettre en oeuvre pour aucune ressource
(soit le navigateur est trop récent, soit le serveur HTTP est trop ancien). |
502 |
Bad Gateway (Mauvais intermédiaire) |
Le serveur intermédiaire a fourni une réponse invalide.
Le serveur HTTP a agit en tant qu'intermédiaire (passerelle ou proxy) avec
un autre serveur, et a reçu de ce dernier une réponse invalide en essayant
de traiter la requête. |
503 |
Service Unavailable (Service indisponible) |
Le serveur HTTP est actuellement incapable de traiter la requête en
raison d'une surcharge temporaire ou d'une opération de maintenance.
Cette condition sera donc levée après un certain délai. |
504 |
Gateway Time-out (Intermédiaire hors-délai) |
Cette réponse est identique au code 408 (requête hors-délai), mais
ici c'est un proxy ou un autre intermédiaire qui a mis trop longtemps à
répondre. |
505 |
HTTP Version not supported (Version HTTP non gérée) |
La version du protocole HTTP utilisée dans cette requête n'est pas
(ou plus) gérée par le serveur. |
Soutenez le travail de l'auteur
|
|
|