Nous avions vu précédemment une présentation du mécanisme client-serveur qui permet d’apréhender comment marche Internet. Nous allons aborder maintenant ce qu’il se passe lorsque la communication est demandée entre le client (vous) et le serveur (le site web) : les statuts Header HTTP.
Avec votre navigateur Internet vous souhaitez accéder à un site web. Vous commencez par le faire en tapant dans la zone adresse web de votre navigateur: “http://”. En faisant cela vous indiquez que vous allez demander quelque chose à un site web en utilisant un protocole de communication particulier et créé spécifiquement pour cet usage: le protocole HTTP ou “HyperText Transfer Protocol” – littéralement “protocole de transfert hypertexte “. Il s’agit d’un protocole de communication client-serveur développé pour le World Wide Web. Si vous tapez HTTPS (avec S pour “secured ” ou bien “sécurisé” ) vous utiliserez alors une variante du HTTP qui est sécurisée par l’usage des protocoles SSL ou TLS.
La requête http est envoyée au serveur. Vous ne vous en rendez pas compte, mais avant de vous communiquer la page demandée, le serveur vous renvoie un code pour dire que tout est OK c’est un code de statut qui vaut la valeur 200. Cette valeur est interprétée par votre navigateur comme un “tout va bien la page arrive”. La page web demandée s’affiche alors à l’écran.
D’autres codes de statuts existent. Les codes de statut ont été mis au point en même temps que le protocole HTTP. Ce protocole a été inventé par Tim Berners-Lee avec les adresses Web et le langage HTML pour créer le World Wide Web il n’y a pas si longtemps que cela… C’était en 1989. Tout au long de ces travaux et versions successives de protocoles, les codes de statuts ont été normalisés afin que tous les serveurs et tout les clients partagent les mêmes codifications. Cela évite une cacophonie!
Un statut est reconnaissable par son code numérique qui est destiné aux traitements automatiques par les logiciels de client HTTP : les navigateurs. La description qui n’est pas communiquée lors des échanges mais que l’on peut trouver dans toute bonne documentation du protocole HTTP donne une réponse humainement compréhensible.
Le premier chiffre du code de statut est utilisé pour spécifier une des cinq catégories de réponse:
- 1xx Information
- 2xx Succès
- 3xx Redirection
- 4xx Erreur du client
- 5xx Erreur du serveur
Une erreur bien “pratique” est l’erreur 301. Elle permet au serveur de dire au client qu’une page web a changé d’endroit. Le client va donc tout seul se rediriger vers la nouvelle adresse. C’est cette technique qui est utilisée par les sites qui proposent de raccourcir les adresses web. Cette erreur est traitée de manière transparente pour vous : l’échange est fait entre votre navigateur et le serveur web proposant ce service de redirection.
Par exemple, aller sur : http://bit.ly/tZr8G6 équivaut donc au final à aller sur https://www.abavala.com/2011/10/26/internet-comment-ca-marche/. La différence vient du fait que dans le premier cas vous allez être redirigé automatiquement sur la page cible au lieu d’y arriver directement.
En cas de dysfonctionnement, un message d’erreur est communiqué par le serveur au navigateur Internet. L’erreur la plus connue et que vous avez sûrement croisé lors de votre navigation sur le web est l’erreur 404. Ce code est renvoyé par un serveur Web pour indiquer que le serveur web existe bien mais que la ressource demandée (généralement une page web) n’existe pas. Certains navigateurs web affichent alors le message “404 File Not Found” ou “404 fichier non trouvé”.
De nombreux sites web ont décidé de personnaliser cette page d’erreur, la page 404 étant réellement devenue partie intégrante de la culture Web. Vous pouvez en admirer certaines sur www.bonjour404.fr ou bien sur 404errorpages.com
Les codes 200, 301, 302, 304, 404, 500 et 503 sont les plus courants. Il sont repris et illustrés dans l’infographie ci-dessous.