Les belles promesses de rapidité du HTTP/2... et la réalité

Les belles promesses de rapidité du HTTP/2... et la réalité De plus en plus de sites utilisent le nouveau protocole imaginé pour les rendre plus performants. Mais les bénéfices ne sont pas toujours là.

La première version du protocole HTTP, imaginé dans les années 1990 pour permettre la communication entre serveurs et navigateurs Internet, commence à dater. Mais la relève est là, elle s'appelle HTTP/2, un nouveau protocole pensé pour corriger certaines faiblesses du précédent, et notamment améliorer la rapidité, appelée "webperf", des sites qui l'utilisent. Parmi ces derniers on compte les géants Google, Youtube, Twitter et Facebook. Mais les français Mappy, SFR, Boulanger, Carrefour et L'Equipe, ou encore Nocibé, Alinéa, Point P et Sensee font également partie des early adopters.

Des caractéristiques pensées pour la webperf

L'une des caractéristiques-phare de l'HTTP/2 est de permettre à un navigateur de récupérer plusieurs ressources à la fois du site web qu'il visite, via la même connexion TCP, là où il était limité à une seule ressource avec le HTTP/1. C'est ce qu'on appelle le multiplexage, et cela permet de charger plus rapidement les éléments de la page. L'HTTP/2 élimine aussi des répétitions inutiles et certains "bavardages" de l'HTTP/1 en réalisant ce qu'on appelle "la compression des headers HTTP". Enfin, avec le "serveur push", autre particularité de l'HTTP/2, les serveurs des sites web vont pouvoir donner (ou "pousser") des ressources avant même qu'elles soient demandées par le navigateur, ce qui doit là aussi permettre de gagner du temps (les détails plus techniques sont bien expliqués sur le blog de Dareboost).

Les belles promesses… et la dure réalité

Pourtant, les résultats ne sont pas toujours là. "L'HTTP/2 a été présenté comme une avancée majeure pour la webperf. Certains spécialistes s'attendaient à des gains de 20 ou 30% de rapidité de chargement des sites. Mais cela été survendu", estime Stéphane Rios, PDG de Fasterize et expert de la webperf. Autre spécialiste du secteur, Damien Jubeau, PDG de Dareboost, confirme : "Il y a souvent des déceptions, car l'HTTP/2 n'apporte pas toujours l'accélération attendue". Pire : certains sites peuvent même perdre en performance en passant au HTTP/2. C'est le cas de SFR, selon Dareboost.

Des sites peuvent perdre en performance en passant au HTTP/2

"Il y a beaucoup de cas où le HTTP/2 n'est pas plus performant", affirme le PDG de Fasterize. Si la compression de header est jugée "très bonne pour la webperf" par ce spécialiste, d'autres particularités du HTTP/2 laissent les experts plus sceptiques. "Le serveur push est sans doute celle qui a le plus déçu. En réalité, c'est difficile à implémenter, et les bonnes manières de l'utiliser restent en discussion. En plus, le serveur push de l'HTTP/2 n'est pas encore supporté par des technologies très utilisées par les sites web, comme Nginx", commente Stéphane Rios.

Revoir certaines bonnes pratiques

Quant au multiplexage, la fonctionnalité peut se révéler efficace. A condition de revoir certaines bonnes pratiques actuelles. Il est par exemple aujourd'hui conseillé aux sites web d'utiliser plusieurs domaines, chacun servant des ressources différentes. Comme expliqué ci-dessus, avec HTTP/1, les navigateurs sont limités à une seule ressource par connexion TCP. Les navigateurs multiplient alors les connexions TCP en parallèle... mais sont limités à un nombre maximum de connexions par domaine (6 par exemple avec Chrome). L'astuce est donc d'avoir plusieurs domaines. Cette bonne pratique bien connue, que les spécialistes appellent le "sharding", a poussé des sites à avoir 4, 5 voire parfois 6 domaines différents. Avec le HTTP/2, grâce au multiplexage, cela peut devenir contre-productif. Stéphane Rios conseille quand même de garder 2 domaines, un pour les ressources statiques, qui iront bien sur un CDN avec le nouveau protocole, l'autre pouvant accueillir les autres ressources.

Bien travailler la connexion TLS

Pour profiter des nouveautés apportées par le HTTP/2, il faut donc remettre en cause certaines bonnes pratiques. Les optimisations réalisées hier pour le HTTP/1 peuvent être en contradiction avec celles demandées par le HTTP/2.

Les bonnes pratiques mises en place pour le HTTP restent d'actualité

Les équipes qui ont beaucoup travaillé leur webperf sur le HTTP/1 doivent-elles snober le HTTP/2, qui leur demanderait trop de changements pour être intéressant ? "Pour profiter pleinement du HTTP/2, il ne faut pas oublier toutes les bonne pratiques mises en place pour le HTTP/1. Un grand nombre d'entre elles restent d'actualité", rappelle le PDG de Fasterize qui a donné récemment une conférence sur le sujet. "Les équipes agiles ayant déjà travaillé la webperf sont de bons candidats pour effectuer la migration. Cette dernière n'est pas réservée aux nouveaux sites", estime le PDG de Fasterize.

Pour ceux qui appliquent déjà les bonnes pratiques, "bien travailler la connexion TLS sera sans doute la plus grande difficulté", prévient-il. En effet, le TLS, c'est-à-dire le HTTPS, est une étape obligée pour profiter du HTTP/2. Une fois la délicate migration vers le HTTPS correctement réalisée, le plus dur sera fait, selon l'expert. Ensuite, il faudra tester les optimisations à apporter au site pour qu'il puisse bien profiter du HTTP/2, et bien s'assurer du ROI de tels changements.