Code HTTP - Signification de tous les codes
Le code du protocole HTTP est un code d'état renvoyé par un serveur à un client qui établit ou tente d'établir une connexion. Quand il représente un problème, ce code est accompagné par des informations complémentaires sur les causes du problème.
Le tableau ci-dessous donne la signification des différents codes HTTP et leur implication.
L'extension WebDav quelquefois mentionnée est un protocole complémentaire à HTTP ajouté pour faciliter la gestion de fichiers à distance et l'échange entre le client et le serveur. Il est défini par l'IETF.
Requête reçue en cours |
|
100 | Requête initiée et en cours de traitement |
101 | Le serveur signale avoir reçu une requête de changement de protocole et elle est acceptée. |
102 | En cours de traitement. Précise que le serveur est bien actif et non inaccessible. (Extension WebDav). |
Requête traitée et réponse envoyée |
|
200 | OK. Traitement de la requête achevée avec succès. Le page est trouvée et affichée. |
201 | Créé. Etablissement d'un lien entre le demandeur et le serveur sous forme d'URI sur une ressource. |
202 | Accepté. La requête est reçue et acceptée mais non encore traitée. |
203 | Information non certifiée. Le serveur fournit en réponse une information qu'il ne certifie pas et qui peut être incomplète. |
204 | Pas de contenu. Aucune information à renvoyer de la part du serveur. |
205 | Aucune information à renvoyer et le serveur demande la réinitialisation de la requête. Dans le cas d'un formulaire, l'effacer pour l'envoyer de nouveau. |
206 | Contenu partiel. Seule une partie du contenu est renvoyée. (Cela peut être dû à une limitation de ressources). |
207 | Multiples états pour la réponse. (Extension Webdav). |
210 | Contenu différent entre la version serveur et la version client. (Extension Webdav). |
Codes de redirection |
|
300 | Choix multiples. Le serveur dispose de différentes réponses, il peut donc retourner une liste et se baser sur un élément de la requête. |
301 | Déplacé de façon permanente. A utiliser quand un fichier est renommé ou déplacé en indiquant la nouvelle URL. L'ancienne URL sera ignorée des robots. |
302 | Déplacé de façon temporaire. On indique une URL provisoire mais les robots reviendront à l'URL originale. |
303 | Voir autres emplacement. Ce code est renvoyé si les données sont ailleurs, le client devant spécifier l'autre adresse (avec une méthode GET). Le client est alors redirigé sur l'autre adresse, mais non si la méthode est HEAD. |
304 | Non modifié. La page n'a pas été modifiée depuis la dernière requête, et aucun contenu n'est renvoyé. Cela suppose que le serveur soit configuré pour fournir une en-tête if-modified-since. Essentiel pour les robots des moteurs de recherche. |
305 | Utiliser un proxy. Réponse du serveur demandant de récupérer le document sur un serveur proxy dont l'adresse est fournie. |
307 | Redirection temporaire. La requête est redirigée sur une autre adresse comme en 302. |
Erreur du client ou accès interdit |
|
400 | Mauvaise requête. Le serveur ne reconnaît pas la syntaxe de la commande. |
401 | Non authorisé. Connexion refusée. Un mot de passe est nécessaire. |
402 | Paiement requis. Pour un usage futur. |
403 | Interdit. L'accès est interdit ou il est interdit à un robot spécifié (par le serveur et non pas par robots.txt). |
404 | Introuvable. La page n'existe pas. Cela peut être dû à une orthographe incorrecte, une différence de casse sous Unix, ou un changement d'adresse. |
405 | Méthode de requête non permise. |
406 | Non acceptable. Le serveur ne peut fournir le type de document demandé. |
407 | Authentification par proxy requise. Le connexion est refusée car le client doit se connecter uniquement par un serveur proxy qui est indiqué dans la réponse. |
408 | Expiration du temps alloué à une requête. |
409 | Conflit. La requête contient une demande qui entre en conflit avec notamment une demander précédent. Les informations sur les causes sont fournies avec le code d'erreur. |
410 | Déplacé. Comme 404 mais précise en plus que la page introuvable existait auparavant. Google recommande son usage plutôt que 404 quand la disparition de la page est définitive. |
411 | Longueur nécessaire. Le serveur n'accepte pas la requête si l'en-tête Content-Length n'est pas spécifié. |
412 | Précondition non remplie. La requête est accompagnée de conditions que le serveur ne peut remplir. |
413 | Volume demandé trop important. Le serveur ne peut fournir un document de cette taille. |
414 | URI trop longue. La taille de l'adresse envoyée au serveur est excède le nombre de caractères autorisé. Cela arrive quand on convertit un POST en GET. |
415 | Type de média non reconnu. Le client demande un type de document que le serveur ne prend pas en charge. |
416 | Ne peut satisfaire à la plage de requête. La requête précise une étendue, une taille (par exemple 200-10000) et la ressource n'y est pas incluse. |
417 | Echec d'une demande. La requête contient un champ Expect et le serveur ne peut y satisfaire. La définition de ce champ est vague. |
422 | La requête contient une entité que le serveur ne peut traiter. (Extension WebDav). |
423 | Verrouillé. La page est verrouillée et ne sera pas transmise. (Extension WebDav). |
424 | Echec du à la méthode employée par le requête. (Extension WebDav). |
451 | Le site est bloqué pour une raison légale. Le fournisseur d'accès retourne alors ce code, ajouté en 2015. (451 fait référence au livre Fahrenheit 451). |
Erreurs dues aux serveur |
|
500 | Erreur interne au serveur. La requête n'est pas traitée. |
501 | Non implémenté. Le serveur ne reconnaît pas la nature de la demande, la méthode employée par exemple. |
502 | Mauvaise passerelle. Quand le serveur joue un rôle de proxy ou d'intermédiaire et que l'autre serveur ne répond pas. |
503 | Service non disponible. Problème momentané, du à une surcharge ou autre problème du serveur. |
504 | Temps d'attente auprès de l'autre serveur dépassé, quand le serveur sollicité joue le rôle de passerelle. |
505 | Version HTTP non reconnue. Le protocole utilisé est trop récent ou non pris en charge. |
507 | Espace sur le serveur insuffisant pour accomplir la demande du client. (Extension WebDav). |
509 | Code non standard mais utilisé par des serveur en cas de dépassement de quota. |
Références et outils
- Définition du standard par le W3C.
- Testeur de liens en ligne de commande. Ce script vérifie les liens sur un site et affiche le code HTTP retourné par le serveur quand on tente d'accéder à une page.