HTTP/2 est une mise à niveau majeure de la norme HTTP , visant à améliorer la vitesse et la sécurité des interactions client-serveur sur Internet. HTTP/2 ajoute plusieurs nouvelles fonctionnalités tout en maintenant la compatibilité descendante, de sorte que les navigateurs et les serveurs sans prise en charge HTTP/2 continuent de fonctionner correctement, tandis que ceux qui en disposent peuvent profiter des améliorations de performances.
L’objectif principal des améliorations HTTP/2 est la vitesse. Une limitation majeure de HTTP/1 est qu’une seule demande de ressource est autorisée à la fois sur une connexion donnée. Pour minimiser les temps de chargement des pages Web composées de dizaines d'images, de scripts et de feuilles de style (comme la plupart le sont), les navigateurs ouvrent généralement plusieurs connexions HTTP/1 à un site à la fois afin de pouvoir demander des ressources en parallèle, avec une surcharge importante requise pour chaque connexion. HTTP/2 utilise des connexions multiplexées pour transmettre plusieurs ressources via une seule connexion, réduisant ainsi considérablement le nombre de connexions entre les clients et les serveurs Web.
HTTP/2 utilise également largement la compression, ce qui améliore les performances en économisant de la bande passante. Dans HTTP/2, les en-têtes sont envoyés sous forme de binaire compressé plutôt que sous forme de texte brut lisible par l’homme. Les économies considérables de bande passante compensent l’augmentation mineure de la charge CPU (pour compresser et décompresser les en-têtes) et les inconvénients pour les utilisateurs humains qui ne peuvent pas lire les en-têtes (à des fins de débogage, par exemple).
HTTP/2 introduit également la priorisation des ressources pour améliorer l'expérience utilisateur lors du chargement des pages. Les navigateurs Web et autres clients peuvent désormais indiquer l’ordre dans lequel ils souhaitent recevoir les ressources. Les navigateurs avec une bonne prise en charge HTTP/2 peuvent afficher les pages beaucoup plus rapidement en donnant la priorité aux ressources que l'utilisateur doit voir en premier. Les premiers tests des performances de HTTP/2 ont montré que certaines pages se chargent presque deux fois plus vite.
Bien que HTTP/2 n'ait pas explicitement modifié les exigences de sécurité pour HTTP, presque tous les navigateurs qui utilisent HTTP/2 exigent que SSL/TLS soit activé sur le site Web, ce qui le rend obligatoire à toutes fins utiles. Étant donné que HTTP/2 utilise une seule connexion multiplexée par client, le coût de sécurisation des sites Web a considérablement diminué. Au lieu de devoir effectuer une négociation SSL/TLS (où les clients et les serveurs vérifient les identités et échangent les clés de chiffrement) pour chacune des nombreuses connexions ouvertes par un navigateur, une seule est effectuée pour couvrir toute la durée d'une session client.
NGINX Plus
HTTP/2 et TLS sont susceptibles d'améliorer les performances de votre site et de permettre aux utilisateurs de savoir que leur interaction avec votre site est sécurisée. Que vous soyez le premier de votre quartier à implémenter HTTP/2 ou que vous cherchiez à rattraper vos concurrents, regardez cette conférence pour une discussion approfondie sur les fonctionnalités, les avantages et les inconvénients de HTTP/2.