Pourquoi Internet va être plus rapide avec le HTTP/2

HTTP/2
HTTP/2

Le « HTTP », Hypertext Transfer Protocol, est une composante clé du réseau Internet mondial. C’est la couche de communication par laquelle les navigateurs web envoient les requêtes aux serveurs d’hébergement, et par laquelle ces derniers renvoient les pages web demandées. Le protocole HTTP 1.1 utilisé depuis 1999 est en phase d’être mis à jour vers le HTTP/2 !

Pourquoi passer au HTTP/2 ?

Au fil des années, le web a radicalement changé, avec l’utilisation croissante des images, mais également des feuilles de style (CSS) de plus en plus complexe, de code Javascript, du Flash, de montage vidéo et autres éléments embarqués. Le HTTP originel (HTTP 1.1) est un protocole simple pour un Internet simple, il n’a pas été conçu pour supporter le nombre croissant de sites web au contenu multimédia riche ou d’application en ligne comme les logiciels CRM de plus en plus populaires.

HTTP/2
HTTP/2

Par exemple, Google assure 40 000 recherches web par second chaque jour. Pour pouvoir servir des milliards d’Internautes, les ingénieurs de la firme ont lancé un projet en 2009 appelé SPDY (prononcé « speedy ») pour améliorer le HTTP. Initialement prévu pour un usage interne, d’autres sites à très for trafic comme Facebook, Cloudflare, WordPress ou encore Twitter ont également implémenté la technologie SPDY contribuant donc à son développement.

Cela a attiré l’attention de l’IETF, une communauté internationale de spécialistes du web qui développe les standards de l’Internet. L’IETF a décidé d’utiliser SPDY comme la base de l’HTTP/2 en 2012.

Google a récemment annoncé qu’il abandonnait le développement du SPDY au profit de l’HTTP/2.

Les inconvénients du HTTP 1.1

Les pages web d’aujourd’hui peuvent générer plus d’une centaine de requêtes : images, feuilles de style CSS, vidéos, publicités externes, etc. Cela ralentit considérablement l’affichage de la page car le serveur d’hébergement supporte une charge importante et que le HTTP 1.1 ne peut supporter qu’une seule requête par connexion…

Le HTTP 1.1 est très sensible aux connexions ayant de haut temps de latence. Cela pose un problème majeur lorsqu’il s’agit de naviguer sur le web à partir d’un smartphone ou d’une tablette, même lorsque la connexion en elle-même dispose du haut débit.

Le web mobile
Le HTTP 1.1 ralentit fortement la navigation web à partir d’un appareil mobile

Une solution avait été développée : le « pipelining HTTP« , laquelle permet d’envoyer plusieurs requêtes dans une même connexion TCP. Bien que cette solution amène une amélioration de vitesse indéniable, elle engendre néanmoins plusieurs problèmes (dont une augmentation de la latence…).

Les avantages du HTTP/2

Au lieu d’utiliser du texte en clair, le HTTP/2 est désormais un protocole binaire plus rapide à analyser et plus compact à transmettre. Tandis que le HTTP 1.1 a quatre moyens différents de traiter un message, le HTTP/2 réduit ce nombre à un.

Pour résoudre la problématique des requêtes multiples, le HTTP/2 n’autorise qu’une seule connexion par site, mais en utilisant le flux par multiplexage. Le multiplexage permet de transmettre plusieurs requêtes à la fois dans un seul message. De plus, ces flux peuvent être priorisés : images à afficher en premier, etc.

Multiplexage
Le multiplexage revient à ajouter de nouvelles voies à une autoroute

Le protocole HTTP nécessite que chaque requête intègre des informations la situant dans l’ensemble plus vaste de l’affichage global de la page web. Ces informations sont placés dans ce qu’on appelle « l’en-tête HTTP » (HTTP headers en anglais). Or comme le HTTP 1.1 a évolué, ces en-têtes ont également gagné en volume car elles incluent de nouvelles fonctionnalités. Le HTTP/2 utilise un algorithme de compression pour réduire le poids de ces en-têtes tout en amélioration la sécurité de transmission.

Enfin, habituellement le serveur web attend que le navigateur (le client) demande l’envoi d’une ressource (comme une image par exemple). Le HTTP/2 intègre par défaut la technologie « Serveur push » qui permet au serveur web de ne pas attendre cette requête et d’envoyer immédiatement d’autres ressources au client, rendant ainsi l’affichage du site plus rapide.

Vers un Internet v2

Pour que le HTTP/2 soit accessible au grand public, il faut tout d’abord que les serveurs web et les navigateurs l’implémentent. Alors, pour sûr, la navigation web sera plus fluide et plus rapide. De plus, les développeurs pourront enfin s’affranchir de certaines contraintes du HTTP 1.1.

En fait, la plupart des dernières versions des navigateurs les plus populaires comme Firefox, Chrome et Internet Explorer, supportent déjà le HTTP/2. Concernant Chrome et Firefox, le HTTP/2 ne fonctionnent que sur le couche sécurisée SSL.

Avec la fin d’Internet Explorer, on peut également supposer que son successeur, appelé pour le moment « projet Spartan », prendra également en charge le HTTP/2.

Enfin, de nouveaux projets voient le jour comme Let’s Encrypt, service délivrant des certificats SSL gratuits !

Cet article vous a été utile? Vous avez aimé l’information que je vous ai présentée? Alors vous pourriez en faire profiter vos amis sur les réseaux sociaux grâce aux boutons de partage ci-dessous svp. Merci :)

Par Simon LEE

Mathématicien et entrepreneur dans les pays de l'Océan indien, en République tchèque et en France. N'hésitez pas à me contacter via Linkedin !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *