Qu’est ce que le protocole HTTP
Le protocole HTTP (acronyme de HyperText Transfer Protocol) est le protocole de base du web et le plus populaire. Sans ce protocole, l’accès aux pages web ne pourrait pas se faire. En effet, il dicte la manière avec laquelle le communication entre le serveur web et la machine du visiteur doit s’effectuer. Sa version sécurisée est HTTPS, mis pour HTTP over SSL. Désormais, cette version est préconisée pour veiller à la sécurité des échanges sur le web. Certains moteurs de recherche considèrent même son utilisation sur un site web comme un avantage pour le référencement.
La version 1 de HTTP remonte à 1996 par le travail de Tim Berners-Lee. Ce pourtant qu’en 2012 que les travaux pour HTTP/2 démarrent. Il faut noter que cette deuxième version est une adaptation du protocole SPDY de Google pour une navigation plus rapide. On attendra 2015 pour un début d’adoption de cette version par les navigateurs web.
Fonctionnement de HTTP
Le protocole HTTP fonctionne selon un modèle client-serveur. Cet exemple va illustrer le fonctionnement de HTTP.
Un internaute se connecte à Internet via son appareil (ordinateur, mobile, tablette). Par la suite, il souhaite consulter la recette du gâteau aux pommes sur son site web préféré « exemple.com ». Il ouvre donc son navigateur et saisit le nom du site dans la barre de recherche.
- Le navigateur web, client HTTP se connecte au serveur d’hébergement web où se trouve le site « exemple.com ».
- Il demande ensuite à ce serveur, le serveur HTTP le contenu de ce site. On parle de requête HTTP.
- Le serveur HTTP fouille parmi ses fichiers, recherche le contenu correspondant et répond au navigateur.
- Le navigateur ayant reçu le contenu du site, l’interprète et l’affiche. L’internaute peut donc voir la recette qu’il souhaite.
Cette étapes de la communication s’effectuent un laps de temps très cours, quelques millisecondes. Il arrive des fois, lors de la navigation sur Internet de ne pas trouver le contenu rechercher, mais des réponses telles que : Erreur 404. Ce sont des codes par lesquels le serveur web informe le navigateur d’un problème soit au niveau du serveur, soit du réseau, soit du navigateur.
Exemples de serveur HTTP
Ce sont eux qui traitent et répondent aux requêtes des navigateurs. Ils peuvent être utilisés en local pour effectuer des tests, pour des projets personnels ou des projets de petite envergure. L’installation et la gestion du serveur sera ardue pour toute personne qui ne dispose pas de compétences suffisantes. Généralement pour des projets qui seront connectés à Internet, il est judicieux d’acquérir un serveur chez un hébergeur web. Celui-ci aura déjà effectuer l’installation et la configuration du serveur HTTP, il ne restera plus que l’utiliser. Des exemples des serveurs HTTP sont:
- Apache Server. C’est le serveur HTTP le plus populaire, proposant une architecture modulaire et évolutive. Il s’utilise aussi bien sur les distributions Linux que sur OS X et Windows.
- Nginx. Il se lit « engine x ». Il propose une excellente gestion des connexions simultanées de part son architecture événementielle asynchrone. On l’emploie aussi bien comme serveur web, comme serveur proxy ou même équilibreur de charge.
- Node.js. Il permet d’exécuter les applications réseau JavaScript côté serveur. Node.js propose une architecture événementielle capable de gérer des entrées et des sorties asynchrones.