Entêtes HTTP

Listings des codes envoyés dans les en-têtes HTTP

Le tableau ci-dessous, bien que particulièrement indigeste, récapitule tous les codes qu'un serveur web peut envoyer dans ses entêtes.

Codes envoyés et signification des erreurs
Code envoyé Signification de la réponse

100 Continue

La partie initiale de la requête a été reçue, et le client peut poursuivre sa requête.

101 Switching Protocols

Le serveur effectue une demande du client en vue de changer de protocole en faveur de celui spécifié dans le champ de l'en-tête Upgrade.

200 OK

La requête du client a réussi et la réponse du serveur contient les données demandées.

201 Created

Ce code d'état est utilisé en cas de création d'une nouvelle URL. L'en-tête Location est fourni par le serveur afin de préciser l'emplacement des nouvelles données.

202 Accepted

La requête a été acceptée, mais sans être immédiatement exécutée. D'autres informations sur la transaction peuvent être fournies dans l'entité-corps de la réponse du serveur. Il n'y a pas de garantie que le serveur pourra effectivement honorer la requête, bien qu'elle paraisse légitime au moment de son premier examen.

203 Non-Authoritative Information

Les informations de l'en-tête proviennent d'une copie locale ou d'un tiers, et non du serveur d'origine.

204 No Content

Un en-tête et un code d'état sont fournis dans la réponse, mais il n'y a aucune entité-corps dans la réponse. Les navigateurs ne doivent pas mettre à jour leur document en recevant cette réponse. C'est un code utile pour les programmes CGI quand ils acceptent des données d'un formulaire mais veulent que le navigateur reste positionné sur ce formulaire.

205 Reset Content

Le navigateur devra clarifier le formulaire utilisé pour cette transaction pour une contribution supplémentaire. Adéquat pour l'entrée de données dans les applications CGI.

206 Partial Content

Le serveur renvoie une partie des données de la taille requise. Utilisé dans la réponse à une requête précisant un en-tête Range. Le serveur doit préciser la série incluse dans la réponse avec l'en-tête Content-Range.

300 Multiple Choices

L'URL demandée fait référence à plus d'une ressource. Par exemple, L'URL pourrait se référer à lui document traduit en plusieurs langues. L'entité-corps renvoyée par le serveur peut avoir une liste de données plus spécifiques concernant le fait de choisir la ressource correcte. Le client devra permettre à l'utilisateur de sélectionner au sein de la liste des URL renvoyée par le serveur, en fonction des besoins.

301 Moved Permanently

L'URL demandée n'est plus utilisée par le serveur, et l'opération précisée dans la requête n'a pas été exécutée, La nouvelle localisation pour le document demandé est précisée dans l'en-tête Location. Toute requête future pour ce document devra utiliser la nouvelle URL.

302 Moved Temporarily

L'URL demandée a déplacée, mais seulement à titre provisoire. L'en-tête Location pointe sur la nouvelle localisation. Aussitôt après avoir reçu ce code d'état, le client devra utiliser la nouvelle URL pour résoudre la requête, mais "l'ancienne" URL devra être utilisée pour toutes requêtes futures.

303 See Other

L'URL demandée peut être trouvée à une adresse différente (précisée dans l'en-tête Location) et devra être récupérée par un GET sur cette ressource.

304 Not Modified

C'est le code de réponse à un en-tête If-Modified-Since, quand l'URL n'a pas été modifiée depuis la date précisée. L'entité-corps n'est pas envoyé, et le client devra utiliser sa propre copie locale.

305 Use Proxy

Il faut accéder à l'URL demandée via le mandataire dans l'en-tête Location.

400 Bad Request

Ce code de réponse indique que le serveur a détecté une erreur de syntaxe dans la requête du client.

401 Unauthorized

Le code de résultat est fourni avec l'en-tête WWW-Authenticate pour indiquer qu'il manquait à la requête l'autorisation adéquate, et que le client devra fournir cette autorisation quand il demandera cette même URL une nouvelle fois. Voir dans ce chapitre la description de l'en- tête Authorization pour plus d'information sur le fonctionnement des autorisations sous HTTP.

402 Payment Required

Ce code n'est pas encore réalisé sous HTTP.

403 Forbidden

La requête a été refusée pour une certaine raison que le serveur ne veut pas indiquer au client (ou il n'en a pas les moyens).

404 Not Found

Le document n'existe pas à l'URL précisée.

405 Method Not Allowed

Ce code, donné avec l'en-tête Allow, indique que la méthode employée par le client n'est pas supportée pour cette URL.

406 Not Acceptable

L'URL précisée par le client existe, mais pas dans un format souhaité par le client. Avec ce code, le serveur fournit les en-têtes Content-Language, Content-Encoding, et Content-type.

407 Proxy Authentication Required

Le serveur mandataire a besoin d'autoriser la requête avant l'envoyer. Utilisé avec l'en-tête Proxy-Authenticate.

408 Request Time-out

Ce code de réponse signifie le client n'a pas fourni une requête complète dans un temps prédéfini (précisé habituellement dans la configuration du serveur), et que le serveur interrompt la connexion au réseau.

409 Conflict

Indique que la requête est en conflit avec une autre requête ou avec la configuration du serveur. L'information sur le conflit devrait être renvoyée dans la partie Données de la réponse. Par exemple, ce code de réponse pourra être donné quand la requête d'un client sera cause de problèmes d'intégrité dans une base de données.

410 Gone

Indique que l'URL demandée n'existe plus et a été enlevée définitivement du serveur.

411 Length Required

Le serveur n'acceptera pas la requête sans un en-tête Content-Length fourni dans la requête.

412 Precondition Failed

La condition précisée par un ou plusieurs en-têtes If... dans la requête a été considérée comme erronée.

413 Request Entity Too Large

Le serveur ne traitera pas la requête parce que son entité-corps est trop grande.

414 Request Too Long

Le serveur ne traitera pas la requête parce que son URL de requête est trop grande.

415 Unsupported Media Type

Le serveur ne traitera pas la requête parce que son entité-corps est dans un format non supporté.

500 Internal Server

Ce code indique qu'une partie du serveur (par exemple, Error un programme CGI) a crashé ou a rencontré une erreur de configuration.

501 Not Implemented

Indique que le client a demandé une action qui ne peut pas être exécutée par le serveur.

502 Bad Gateway

Signale que le serveur (on le mandataire) a rencontré, des réponses invalides d'un autre serveur (ou d'un mandataire).

503 Service Unavailable

Ce code signifie que le service est temporairement indisponible, mais devrait être restauré à l'avenir. Si le serveur sait quand il sera de nouveau disponible, un en-tête Retry-After peut aussi être fourni.

504 Gateway Time-out

Cette réponse est comme le code 408 (Request Time-out) sauf qu'ici une passerelle - ou un mandataire - se trouve en time-out.

505 HTTP Version Not Supported

Le serveur ne supporte pas la version du protocole HTTP utilisée dans la requête.

Vous êtes encore là ? Bravo. A noter que Google recommande depuis des années l'utilisation de l'en-tête 304 If-Modified-Since. Cela peut notamment vous aider à réduire la consommation de bandes passantes par les robots.

Source

  1. Programmation de client Web avec Perl 44

A propos de l'auteur

Aurélien Bardon

Editeur du portail Oseox.fr, Aurélien Bardon est expert en création de trafic et e-commerçant. Après avoir travaillé en agence et chez l'annonceur, aussi bien pour des petites sociétés que pour de grands comptes, il fonde en 2009 l'agence SEO Aseox.