Bien qu’ancien (was publié en 1999), le protocole HTTP 1.1 est utilisé par la majorité absolue des sites à ce jour. Google veut encourager l’adoption d’une version plus sûre. Pour ce faire, la société a annoncé que Chrome aura le support HTTP/2 dans les prochaines semaines.
HTTP est le protocole qui sert de base au navigateur pour accéder aux pages web. Le problème de la version 1.1 est que son “âge avancé” la rend plus vulnérable aux violations de la sécurité et peut souvent compromettre les performances des services en ligne qui utilisent des fonctionnalités plus modernes.
Pour contourner les limitations de HTTP 1.1, Google a commencé en 2009 à développer SPDY (le nom est une forme abrégée du mot “speedy”). Dans le cadre de ses attributs, ce protocole nécessite l’établissement de connexions sécurisées et utilise des techniques de compression pour accélérer la communication.
Comme HTTP/2 regroupe la plupart des fonctionnalités de SPDY, Google a décidé d’arrêter ce dernier. Le chrome ne supportera plus le SPDY au début de 2016. D’ici là, le navigateur aura déjà une prise en charge complète du nouveau protocole. On attend la même chose des autres navigateurs.
En fait, HTTPbis, le groupe de travail responsable de HTTP/2, a basé bon nombre des fonctions du nouveau protocole sur SPDY. Il n’est donc vraiment pas logique que Google continue à soutenir les deux.
La seule raison de s’attendre à une adoption massive et immédiate de HTTP/2 est que le protocole est encore en phase de normalisation (bien qu’avancée), un processus long et laborieux. Mais les efforts en valent la peine : en plus d’être plus sûre, la nouvelle version sera beaucoup plus compatible avec ce qui se passe sur l’internet aujourd’hui, en optimisant l’accès à partir des appareils mobiles, par exemple.
Parmi les principales caractéristiques de HTTP/2 figurent l’activation obligatoire du GZIP, la compression des en-têtes, des requêtes et des réponses parallèles sur une même connexion (HTTP 1.1 nécessite l’utilisation de plusieurs connexions en même temps pour répondre à des demandes simultanées), la hiérarchisation des requêtes les plus importantes et la fonction “server-push”, qui accélère la connexion en envoyant les ressources du navigateur qui n’ont pas encore été demandées, mais qui le seront.
Le document décrivant toutes les caractéristiques actuelles de HTTP/2 est disponible ici.
