Pour faire simple, le rôle des en-têtes HTTP consiste à définir les modalités d’échange entre votre navigateur et le serveur. Selon le type de la demande du navigateur Web et le résultat des recherches de données sur l’ordinateur serveur, le serveur transmet un code (sous la forme d’un nombre composé de trois chiffres) dans les données d’entête HTTP de la réponse. Ce nombre représente le code d’état HTTP. Il renseigne sur le rapport entre les données livrées par le serveur et les données souhaitées par le navigateur. C’est ainsi que des messages d’erreur sont transmis, mais également des observations comme le transfert de cookie ou bien une redirection vers une autre page. Le navigateur peut évaluer le code d’état et réagir en conséquence. Par ailleurs, le serveur Web écrit le code d’état HTTP de la demande dans ses fichiers Log.

Hypertext Transfer Protocol, plus connu sous l’abréviation HTTP est un des protocole de communication client-serveur développé pour le World Wide Web. C’est le protocole utilisé lorsqu’on parle de web.
Il est utile de connaître les différents codes d’état HTTP, leur signification et les raisons possibles de leur apparition. C’est ce que nous verrons dans la deuxième partie de cet article. Mais tout d’abord, intéressons-nous aux outils permettants d’analyser les en-têtes HTTP.
Des outils d’analyse d’en-têtes HTTP
Connaître l’état de l’en-tête HTTP d’une page peut s’avérer utile. Il est parfois nécessaire de vérifier si une redirection que vous avez mise en place est correctement effectuée. Afin d’analyser vos en-têtes HTTP ou de les modifier, vous aurez besoin de quelques outils :
Cinq services en ligne, simples à utiliser, délivrant des informations plus ou moins complètes :
- Analyse d’en-têtes HTTP BritoWeb : l’analyse de l’url se fait rapidement mais les informations d’en-têtes HTTP sont basiques.
- Server Header Checker : un service réactif permettant également d’obtenir les informations de base.
- WeBuildPages : un autre outil qui renvoie les mêmes informations que le précédent service.
- Url Info : un service d’analyse de liens qui renvoie, en plus des informations sur l’en-tête, des informations sur les images et les liens contenu dans la page analysée.
- Web-Sniffer : plus complet, ce service agit comme un serveur proxy qui vous permet de visualiser toujours les informations liées à l’en-tête, les informations demandées lors de la requête, ainsi que le contenu du code source de la page analysée. La requête est lancée après avoir coché différentes options.
Trois extensions vraiment très pratiques :
- Deux extensions Firefox permettant d’obtenir des informations précises sur l’en-tête HTTP de la page en cours : Live HTTP Header et httpFox.
- Une extension Microsoft remplissant les mêmes fonctions que le plugin Firefox : IE HTTP Headers.
Il est également possible de recourir à un logiciel simulant le passage d’un crawler comme le ferait Googleboot. Les logiciels de type Xenu (ou Integrity pour Macintosh) permettent de voir rapidement les codes d’état HTTP. Vous pourrez également obtenir la liste des liens cassés ou ignorés ainsi que des tas d’autres informations concernant le poids des pages ou le niveau de profondeur des pages importantes.
Les cinq classes de codes d’état HTTP
1xx : Codes d’information
Codes d’état qui indiquent une réponse provisoire et qui attendent que le demandeur intervienne pour poursuivre.
100 |
Continuer
|
Le demandeur doit poursuivre sa demande. Le serveur renvoie ce code pour indiquer qu’il a reçu la première partie d’une demande et qu’il attend la suite. |
101 |
Changement de protocoles Switching Protocols |
Le demandeur a envoyé une demande de modification des protocoles au serveur et le serveur confirme qu’il va la traiter. |
2xx : Codes de succès
Codes d’état qui indiquent que le serveur a traité correctement la requête.
200 |
Réussite OK |
Le serveur a traité la demande correctement. En général, cela signifie que le serveur a fourni la page demandée. Si cet état s’affiche pour votre fichier robots.txt, cela signifie que le robot Googlebot l’a extrait correctement. |
201 |
Créé Created |
La demande a été traitée et le serveur a créé une ressource. |
202 |
Accepté Accepted |
Le serveur a accepté la demande, mais ne l’a pas encore traitée. |
203 |
Information non certifiée Non-Authoritative Information |
Le serveur a traité correctement la demande, mais il renvoie des informations qui proviennent peut-être d’une autre source. |
204 |
Pas de contenu No Content |
Le serveur a traité correctement la demande, mais ne renvoie aucun contenu. |
205 |
Contenu réinitialisé Reset Content |
Le serveur a traité correctement la demande, mais ne renvoie aucun contenu. À la différence d’une réponse 204, cette réponse nécessite de la part du demandeur qu’il réinitialise le document affiché (par exemple, effacer un formulaire pour insérer de nouvelles données). |
206 |
Contenu partiel Partial Content |
Le serveur a traité correctement une requête GET partielle. |
3xx : Codes de redirection
Cette classe de messages précise que le client doit provoquer une action complémentaire pour que la requête puisse être conduite jusqu’à sa résolution finale. L’action peut être déclenchée par l’utilisateur final si et seulement si la méthode invoquée était GET ou HEAD. Un client ne peut automatiquement rediriger une requête plus de 5 fois. Il est supposé, si cela arrive, que la re-direction s’effectue selon une boucle infinie.
Une autre action est nécessaire pour traiter la requête. Ces codes d’état sont souvent utilisés dans le cadre de la redirection. Google conseille d’utiliser au maximum cinq redirections pour chaque requête. Pour vérifier si le robot Googlebot rencontre des difficultés pour explorer les pages qui ont été redirigées, utilisez les Outils pour les webmasters. La page Erreurs d’exploration de l’onglet Diagnostics répertorie les URL que le robot Googlebot n’a pas été en mesure d’explorer en raison d’erreurs de redirection.
300 |
Choix multiples Multiple Choices |
Le serveur propose différentes actions pour la demande. Il peut choisir une action en fonction du demandeur (user-agent) ou présenter une liste afin que le demandeur choisisse une opération à effectuer. |
301 |
Changement d’adresse définitif Moved Permanently |
La page demandée a été déplacée de manière définitive vers un autre emplacement. Lorsque le serveur renvoie cette réponse (comme réponse à une requête GET ou HEAD), il redirige automatiquement le demandeur vers ce nouvel emplacement. Vous devez utiliser ce code afin que le robot Googlebot puisse savoir quand une page ou un site est déplacé de manière permanente vers un nouvel emplacement. |
302 |
Changement d’adresse temporaire Moved Temporarialy |
Le serveur est en train de répondre à la requête à l’aide d’une page provenant d’un autre emplacement, mais le demandeur doit continuer à utiliser l’emplacement d’origine pour toute requête ultérieure. Ce code est similaire à un code 301 pour une demande GET ou HEAD. Il redirige automatiquement le demandeur vers un autre emplacement. Ne l’utilisez pas pour indiquer au robot Googlebot qu’une page ou un site a été déplacé, car celui-ci continuerait à explorer et à indexer l’emplacement d’origine. |
303 |
Afficher les autres emplacements See Other |
Le serveur renvoie ce code lorsque le demandeur doit formuler une requête GET distincte vers un autre emplacement afin d’extraire la réponse. Pour toutes les requêtes autres que les requêtes HEAD, le serveur redirige automatiquement le demandeur vers le nouvel emplacement. |
304 |
Non modifié |
La page demandée n’a pas été modifiée depuis la dernière demande. Lorsque le serveur renvoie cette réponse, il ne renvoie pas le contenu de la page. Vous devez configurer votre serveur afin qu’il renvoie cette réponse (appelée en-tête HTTP If-Modified-Since) lorsqu’une page n’a pas été modifiée depuis la dernière fois que le demandeur l’a appelée. Cette fonctionnalité permet de limiter la consommation en bande passante et les ressources exploitées puisque votre serveur prévient le robot Googlebot lorsqu’une page n’a pas été modifiée depuis la dernière exploration. |
305 |
Utiliser le serveur proxy Use Proxy |
Le demandeur peut accéder à la page souhaitée uniquement à l’aide d’un serveur proxy. Lorsque le serveur renvoie cette réponse, il indique également le serveur proxy que le demandeur doit utiliser. |
306 |
Inutilisé [Unused] |
Réservé. N’est pas employé à ce jour. |
307 |
Redirection temporaire Temporary Redirect |
Le serveur est en train de répondre à la requête à l’aide d’une page provenant d’un autre emplacement, mais le demandeur doit continuer à utiliser l’emplacement d’origine pour toute requête ultérieure. Ce code est similaire à un code 301 pour une demande GET ou HEAD. Il redirige automatiquement le demandeur vers un autre emplacement. Ne l’utilisez pas pour indiquer au robot Googlebot qu’une page ou un site a été déplacé, car celui-ci continuerait à explorer et à indexer l’emplacement d’origine. |
4xx : Code d’erreur client
Ces codes d’état indiquent qu’une erreur s’est probablement glissée dans la demande et que le serveur est par conséquent dans l’incapacité de traiter celle-ci.
400 |
Demande erronée Bad Request |
Le serveur ne comprend pas la syntaxe de la demande. |
401 |
Non autorisé Unauthorized |
La demande requiert une authentification. Le serveur renvoie cette réponse si la page nécessite une connexion préalable. |
402 |
Paiement requis Payment Required |
Accès au document soumis au paiement |
403 |
Interdit Forbidden |
Le serveur refuse de traiter la requête. Si le robot Googlebot reçoit ce code d’état après avoir tenté d’explorer des pages valides de votre site (cela est indiqué sur la page Exploration du Web sous Diagnostic des Outils pour les webmasters), votre serveur ou votre hôte bloque peut-être l’accès de Googlebot. |
404 |
Introuvable Not Found |
Le serveur ne trouve pas la page demandée. Il renvoie souvent ce code si la requête vise une page dont il ne dispose pas. Si vous ne possédez pas de fichier robots.txt sur votre site, il est normal que cet état apparaisse sur la page robots.txt de l’onglet Diagnostic dans les Outils Google pour les webmasters. En revanche, si vous disposez d’un tel fichier, alors il est probable que votre fichier robots.txt soit nommé de manière incorrecte ou soit mal placé (Il doit se trouver au plus haut niveau du domaine et être nommé robots.txt). Si cet état s’affiche pour des URL que le robot Googlebot essaie d’explorer (sur la page d’erreurs HTTP de l’onglet Diagnostic), il est probable que Googlebot a suivi un lien incorrect à partir d’une autre page (un ancien lien ou un lien mal orthographié). |
405 |
Méthode non autorisée Method Not Allowed |
La méthode spécifiée dans la demande n’est pas autorisée. |
406 |
Non autorisé Not Acceptable |
La page demandée ne peut pas renvoyer les caractéristiques de contenu exigées. |
407 |
Authentification par proxy obligatoire Proxy Authentication Required |
Ce code d’état est identique au code 401 (Non autorisé), mais indique que le demandeur doit s’authentifier à l’aide d’un serveur proxy. Lorsque le serveur renvoie cette réponse, il indique également le serveur proxy que le demandeur doit utiliser. |
408 |
Expiration du délai de la demande Request Timeout |
Le délai d’attente de la demande par le serveur a expiré. |
409 |
Conflit Conflict |
Le serveur a rencontré un conflit lors du traitement de la demande. Il doit inclure des informations sur le conflit dans la réponse. Le serveur peut renvoyer ce code en réponse à une requête PUT entrant en conflit avec une requête précédente. Dans ce cas, une liste des différences entre les deux requêtes est également fournie. |
410 |
Déplacé Gone |
Le serveur renvoie cette réponse lorsque la ressource invoquée a été déplacée de manière définitive. Ce code est identique au code 404 (Introuvable), mais il est parfois utilisé à la place de ce dernier pour signaler des ressources qui existaient auparavant. Si la ressource a été déplacée de manière définitive, utilisez un code 301 pour spécifier son nouvel emplacement. |
411 |
Longueur obligatoire Length Required |
Le serveur n’acceptera pas la demande si l’en-tête Content-Length (taille du contenu) n’est pas correct. |
412 |
Échec des conditions préalables Precondition Failed |
Le serveur ne respecte pas l’une des conditions préalables que le demandeur a insérées dans la requête. |
413 |
Entité de la demande trop volumineuse Request Entity Too Large |
Le serveur ne peut pas traiter la demande, parce qu’elle est trop volumineuse. |
414 |
L’URI requis est trop long Request-URL Too Long |
L’URI demandé (en général, une URL) est trop long pour que le serveur puisse le traiter. |
415 |
Type de support non pris en charge Unsupported Media Type |
Le format de la demande n’est pas pris en charge par la page demandée. |
416 |
La plage requise n’est pas correcte Requested Range Not Satisfiable |
Le serveur renvoie ce code d’état si la demande vise une plage qui n’est pas disponible pour la page. |
417 |
Échec de l’attente Expectation Failed |
Le comportement prévu pour le serveur n’est pas supporté. |
5xx : Code d’erreur serveur
Ces codes d’état indiquent que le serveur a rencontré une erreur interne lors du traitement de la requête. Ce type d’erreur concerne en général le serveur lui-même et non la requête.
500 |
Erreur interne du serveur Internal Server Error |
Le serveur a rencontré une erreur et ne peut donc pas traiter la demande. |
501 |
Non implémenté Not Implemented |
Le serveur n’est pas doté de la fonctionnalité nécessaire pour traiter la demande. Il renvoie ce code lorsque, par exemple, il ne reconnaît pas la méthode de demande. |
502 |
Passerelle erronée Bad Gateway |
Le serveur jouait le rôle de passerelle ou de serveur proxy et a reçu une réponse incorrecte du serveur en amont. |
503 |
Service non disponible Service Unavailable |
Le serveur est temporairement indisponible (il est surchargé ou en cours de maintenance). En général, cette situation est passagère. |
504 |
Expiration du délai de la passerelle Gateway Timeout |
Le serveur jouait le rôle de passerelle ou de serveur proxy et n’a pas reçu la requête dans les délais de la part du serveur en amont. |
505 |
Version HTTP non prise en charge HTTP Version Not Supported |
Le serveur ne prend pas en charge la version du protocole HTTP utilisée dans la demande. |
Les codes d’erreur les plus fréquents, par ordre décroissant
Erreur HTTP 500 (internal server error) : code d’erreur survenant lorsque le serveur web qui héberge le site rencontre des problèmes internes, comme par exemple une surcharge temporaire.
Erreur HTTP 404 (not found) : code d’erreur survenant lorsqu’on tente d’accéder à une page ou à un fichier qui n’existe pas pour plusieurs raisons : url cassée, contenu déplacé, supprimé, etc…
Erreur HTTP 403 (forbidden) : code d’erreur similaire à la 401, sauf qu’ici, aucune possibilité de login/password n’apparaît. L’accès au contenu est tout simplement interdit.
Erreur HTTP 400 (bad request) : code d’erreur survenant lorsque la requête émise par votre application web (comme par exemple votre navigateur) est erronnée.
Erreur HTTP 401 (unauthorized) : code d’erreur survenant lorsqu’un internaute tente d’accéder à une page web dont l’accès est restreint. De ce fait, l’accès à la source lui est refusé.
Source : Le top 5 des erreurs HTTP rencontrées selon Google.
——
Pour tous renseignements complémentaires, contactez-nous :
www.maccimum.fr (communication globale, tous supports, tous médias).
——







Ajouter un commentaire