Retour au blog

Qu’est-ce que le HTTP 2 et quel est son impact ?

Googlebot, le robot d’exploration de site internet de Google, va à partir de novembre 2020 être capable de crawler les sites compatibles avec HTTP 2.

HTTP 2 est une amélioration de HTTP, plus rapide et plus efficace avec une meilleure architecture. Celle-ci permet de fournir plus de fonctionnalités pour les clients et les serveurs.

Il est donc possible de se poser plusieurs questions, Quels changements à prévoir ? Les avantages ? et enfin des impacts sur le SEO à prévoir ?

L’histoire du protocole HTTP

HTTP (Hypertext Transfer Protocol) a été inventé par Tim Berners-Lee il y a 20 ans. C’est un protocole de communication client-serveur développée pour le World Wide Web qui permet le transfert de fichiers (texte, image, vidéo son et autres fichiers multimédias sur le Web. Dès qu’un utilisateur se connecte à internet et ouvre un navigateur, il utilise indirectement le protocole http.

HTTPS avec S pour ‘secured’ soit sécurisé est la variante du HTTP sécurisée pour l’usage des protocoles SSL ou TLS.

Quels sont les avantages du protocole HTTP 2 ?

Le protocole HTTP 2 est évidemment une amélioration de HTTP 1, on retrouve donc de nombreux avantages à l’utiliser que nous allons voir ci-dessous.

HTTP 2 est un nouveau protocole intelligent qui permet d’envoyer plus de données à un serveur avec une seule requête, ce qui a pour but de limiter le temps de traitement du rendu d’un site web. Pour le protocole HTTP, il fallait par exemple 3 requêtes (allers-retours) entre le navigateur et le serveur pour envoyer 3 fichiers via HTTP, il n’en faut maintenant plus qu’une seule avec HTTP 2.  Cela accélère donc le web et le temps de chargement d’un site internet.

On retrouvé également beaucoup d’améliorations au menu, comme par exemple :

  • Une seule connexion pour charger tous les composants en parallèle
  • Forte amélioration des performances du chiffrement TLS
  • Transmission unique et compressée des headers
  • Protocole binaire, qui est beaucoup plus compact et efficient
  • Mécanisme de priorisation qui permet d’optimiser le Visually Complete (temps à partir duquel l’internaute peut voir l’information dans la page, même si celle-ci n’est pas entièrement chargée)
  • Protocole bi-directionnel qui permet des pushs serveur (le serveur Push est un mode de communication client-serveur dans lequel le dialogue est lancé par le serveur)
  • Suppression des « optimisations » http/1.1
L'impact du HTTP2 sur les serveurs de Google et sur le SEO

Voici les principaux apports techniques de HTTP/2 :

Conserver les mêmes API

La compatibilité ascendante est primordiale, compte tenu du nombre important de services qui ont été développées au-dessus du protocole HTTP : on ne saurait exiger des développeurs de logiciels utilisant HTTP qu’ils retouchent leur code, parfois embarqué dans des systèmes matériels, pour l’adapter. Les mêmes méthodes (GET, PUT, POST etc), les mêmes entêtes et les mêmes statuts et code d’erreur (404 et tous les autres) seront conservés, et il suffira de remplacer une bibliothèque de fonctions HTTP/1.1 par une bibliothèque HTTP/2 pour que le logiciel qui l’utilise soit compatible.

Rendre les requêtes moins couteuses

HTTP est un protocole coûteux en ressources réseaux, notamment parce que les entêtes de messages sont verbeux. C’est pénalisant pour l’échange de courtes informations, et ça l’est encore plus pour les mobiles : même si les débits ont été fortement accrus avec la 3G puis la 4G, tout ce qui contribue à optimiser la bande passante des réseaux mobiles et bénéfique. Pour cela, HTTP va utiliser un mécanisme de « multiplexage » qui permettra l’échange de plusieurs messages simultanément, et non plus séquentiellement.

Optimiser les connexions TCP avec les serveurs

Alors qu’aujourd’hui HTTP permet d’ouvrir plusieurs connexions TCP parallèles et simultanées vers un serveur, ce qui peut créer de la congestion sur le réseau, HTTP/2 permettra de regrouper les échanges avec un même serveur au sein d’une seule et même connexion TCP. Là encore, ce sera bénéfique pour les réseaux mobiles.

Préremplir le cache des navigateurs

Un mécanisme de « cache pushing » permettra à un serveur d’envoyer des informations à un client pour un usage ultérieur. Ainsi il ne sera plus nécessaire à un navigateur web de demander d’abord le contenu d’une page HTML, puis les feuilles de style CSS référencées par la page : le serveur pourra envoyer le HTML et les CSS d’un seul coup, évitant un dialogue inutile entre le navigateur et le serveur. Le logiciel client pourra évidemment débrayer ce mécanisme si nécessaire.

Interrompre une connexion TCP sans la fermer

Avec HTTP/2, un logiciel client pourra maintenir active une connexion TCP (protocole orienté connexion qui permet à deux machines qui communiquent de contrôler l’état de la transmission) même s’il abandonne un échange en cours à la suite d’une action de l’utilisateur, ce qui rendra moins coûteuse en ressources réseaux une éventuelle reprise du dialogue ultérieurement.

Faciliter le chiffrement des échanges

La nouvelle version du protocole ne rendra pas obligatoire l’utilisation du chiffrement TLS, sur lequel repose le chiffrement SSL entre sites web et navigateurs. En revanche, ses performances accrues réduiront l’impact négatif du chiffrement sur la rapidité de réponse d’un site tel que la perçoivent les utilisateurs.

Quels sont les impacts sur le Crawl budget et le SEO ?

Bien évidemment, la question sur les impacts possibles sur le Crawl budget et le SEO est importante pour éviter tout désavantages concurrentiels. Dans le domaine du SEO, il est primordial d’être au courant des nouveautés et d’être toujours à jour.

D’après Google, ils ne prévoient aucun impact sur le budget de crawl alloué à chaque site, l’indexation ainsi que le SEO. Cela sera surtout bénéfique pour Google et ses serveurs.

Cependant, bien que la configuration http/2 se fasse côté infra réseau, pour bénéficier de ce protocole, il faudra répondre à certains prérequis :

Passage au HTTPS

Tout d’abord, un site devra obligatoirement basculer en HTTPS. Pour cela, il faudra passer par l’achat d’un certificat, sa mise en place et bien sûr la migration de toutes les pages du site « http:// » vers « https:// ».

Externalisation des données

Au vu de la gestion du chargement de plusieurs ressources simultanées et de la fonction de priorisation de celles-ci :

  • L’externalisation des ressources sur différents domaines ne sera plus utile, au contraire elle rajoutera des connexions supplémentaires et donc du temps de chargement. Cela est donc mauvais pour la fluidité de votre site internet et donc de l’expérience utilisateur.
  • La concaténation des fichiers CSS et JS ne permettra pas de prioriser les ressources les unes par rapport aux autres avec le système de push

Il faudra donc réaliser des tests sur l’appel des fichiers CSS, JS et images afin de trouver la meilleure solution pour votre site internet.

Conclusion :

Pour conclure, HTTP existe depuis 2 ans, sa simplicité et sa versatilité ont permis le développement du Web. Pour HTTP 2, le développement a été très compliqué car de nombreux matériels ont été conçus dans l’idée que HTTP ne changerait jamais.

Une fois la transition de HTTP à HTTP 2 lancée, les choses seront différentes, et de futures nouvelles versions pourront être introduites plus facilement. Des problèmes non encore résolus par HTTP 2 pourront l’être dans une version future. Comme nous avons pu le voir, ce protocole détient de nombreux avantages notamment pour la rapidité du Web et le chargement des sites.

Cependant puisque HTTP 2 est encore récent donc on retrouve encore des failles de sécurité. De plus, certaines fonctionnalités ne sont pas encore totalement intégrées par les vendeurs de solutions. En particulier, le mécanisme de priorisation, qui n’apparaît pas complètement mature, semble pour le moment délaissé. Nul doute qu’il sera implémenté dans les années qui viennent.