HTTP/2 : la suite tant attendue
Êtes-vous prêt à passer à la vitesse supérieure ?
Ici chez Microsoft, nous sommes en train d'intégrer à Internet Explorer la prise en charge du premier remaniement important du protocole HTTP depuis 1999, autrement dit une éternité.
Si bien des efforts ont été déployés au cours des années pour rationaliser l'architecture web, aucun n'avait été de l'ordre de HTTP/2. Nous avons travaillé d'arrache-pied pour contribuer au développement de ce nouveau standard compatible et efficace au sein du groupe de travail HTTPbis de l'IETF. Pour des raisons évidentes, il porte le nom HTTP/2. Il est à présent intégré au nouvel Internet Explorer à partir de Windows 10 Technical Preview.
Vous pouvez découvrir ce que nous avons accompli avec le groupe de travail HTTPbis en vous rendant sur la page HTTP/2 de Microsoft Open Technologies.
Pourquoi Internet Explorer est-il le premier à implémenter HTTP/2 ?
Dans un monde de plus en plus mobile où l'accès aux informations doit être immédiat, les performances sont très importantes : même des gains mineurs en apparence peuvent faire la différence. Une étude de Bing a par exemple révélé qu'une augmentation de 10 ms du temps de chargement des pages fait perdre au site 250 000 $ de chiffre d'affaires par an ; une augmentation de 100 ms (soit le tiers de la durée équivalente au clignement d'un œil, pour se faire une idée) a réduit à néant trois mois de travail consacrés à l'amélioration du pouvoir de fidélisation à travers une plus grande pertinence des résultats de recherche. Il a été démontré que ce délai de 100 ms au niveau de la réactivité d'une page web transactionnelle peut faire perdre jusqu'à 1 % de ventes aux grands sites de commerce en ligne en raison de l'abandon des recherches. Autant dire que les efforts déployés par ce groupe de travail ont un impact économique réel.
Qu'est-ce qui n'allait pas avec le protocole précédent ?
De manière générale, une page web se charge aujourd'hui quasiment de la même manière qu'à l'époque de l'affichage en 800 × 600 pixels. Le web est assurément plus rapide, mais il pourrait aller beaucoup plus vite et être beaucoup plus efficace sur le plan de l'utilisation des ressources.
L'affichage d'une page nécessite encore aujourd'hui de nombreuses requêtes individuelles entre le navigateur et le serveur, le navigateur devant attendre que le serveur réponde à chacune de ces requêtes avant d'envoyer la suivante. Il est bien sûr possible d'ouvrir davantage de connexions indépendantes en parallèle, mais le nombre d'éléments pouvant faire l'objet d'une requête simultanément reste limité. L'ordre des réponses est également imposé, ce qui empêche le serveur d'optimiser ces dernières.
En quoi le protocole HTTP/2 est-il donc différent ?
Le protocole HTTP/2 fournit les éléments de la page web plus rapidement et plus efficacement, tirant parti de toute la bande passante disponible. Avec les connexions de longue durée et le multiplexage (la capacité du protocole à combiner plusieurs requêtes sur une connexion), les éléments arrivent en plus grand nombre et plus vite. Des fonctionnalités HTTP/2 expérimentales, telles que la dépendance des transmissions et des requêtes du serveur, pourraient améliorer encore plus les performances web dans le futur.
Qu'est-ce que cela signifie pour les développeurs ?
Le protocole HTTP/2 a été conçu dès le départ pour être rétrocompatible avec le protocole HTTP/1.1. Cela signifie que les développeurs de bibliothèques HTTP n'ont pas besoin de changer d'API et que les développeurs utilisant ces bibliothèques n'auront pas besoin de modifier le code de leurs applications. Cela constitue un avantage considérable : les développeurs peuvent avancer sans passer des mois à mettre à jour leurs efforts précédents.
Qu'en est-il des réseaux ? Et de la sécurité ?
La diminution du nombre et de la fréquence des connexions signifie également que le protocole HTTP/2 exercera une pression moins importante sur le réseau. Quand on considère l'ampleur du web aujourd'hui, cela pourrait améliorer considérablement l'efficacité des réseaux, et plus particulièrement des réseaux mobiles. Compte tenu du modèle de connexion efficace du protocole HTTP/2, l'impact sur les performances de l'ajout de TLS à un site sera réduit. Un plus grand nombre d'administrateurs pourra ainsi ajouter TLS à leurs sites.
Quand est-ce que je pourrai me le procurer ?
La prise en charge du protocole HTTP/2 est intégrée à IE dans Windows 10 Technical Preview. Le travail sur le protocole HTTP/2 pour IE a vraiment débuté dans Windows et Windows Phone 8.1 lorsque nous avons ajouté le protocole SPDY 3.0 expérimental. Cela nous a permis de nous familiariser avec un protocole HTTP de multiplexage et de parvenir au protocole HTTP/2 et à ce qui sera dorénavant un standard du secteur.
SPDY a été un bon point de départ pour le standard HTTP/2, mais il s'agit d'un protocole expérimental qui ne se prête pas à une adoption sur le long terme. Avec le développement du protocole HTTP/2, nous supprimerons la prise en charge de SPDY dans toutes les versions futures d'IE. Les sites web et applications utilisant actuellement SPDY devraient pouvoir migrer vers HTTP/2 avec peu de changements, voire aucun.
Comment les développeurs et les propriétaires de site doivent-ils se préparer à ce changement ?
- Exécutez la version Windows 10 Technical Preview d'IE.
- Lancez les outils de développement et activez le suivi réseau.
- Chargez des sites prenant en charge le protocole HTTP/2 draft-14. D'excellents sites sont répertoriés sur les pages des différents responsables de l'implémentation sous : https://github.com/http2/http2-spec/wiki/Implementations
- Observez les paquets HTTP/2 transiter.
La version Technical Preview prend également en charge les serveurs HTTP/2. Cela signifie que vous pouvez créer des sites dans IIS et tester votre contenu de bout en bout. Remarque : dans les versions Technical Preview d'IE et d'IIS, les connexions non sécurisées (c'est-à-dire HTTP) ne sont pas prises en charges sur HTTP/2 ; seules les connexions sécurisées (c'est-à-dire HTTPS) le sont.
Découvrez notre implémentation HTTP/2 et mettez-la à l'épreuve ! Si vous avez des commentaires, n'hésitez pas à nous en faire part sur Twitter @IEDevChat ou via Connect.
— Rob Trace, Chef de projet senior
— David Walp, Chef de projet senior