HTTP2

HTTP/2 (Hypertext Transfer Protocol version 2, initialement nommé HTTP 2.0), abrégé en h2 (connexion chiffrée basée sur TLS/1.2 ou supérieur) ou h2c (connexion non chiffrée), HTTP/2 est la deuxième version majeure du protocole HTTP, utilisée pour transmettre des données entre les serveurs web et les clients.

HTTP/2 est la première mise à jour du protocole HTTP depuis la publication du RFC amélioré de HTTP 1.1 en 1999, principalement basée sur le protocole SPDY.

La plupart des navigateurs courants prenaient déjà en charge ce protocole fin 2015.

HTTP/2 est un protocole réseau et une version améliorée de HTTP/1.1, publiée par l'IETF en 2015. HTTP/2 vise à améliorer les performances web, réduire la latence, renforcer la sécurité et rendre les applications web plus rapides, plus efficaces et plus fiables.


Fonctionnalités de HTTP/2

Voici quelques fonctionnalités et améliorations de HTTP/2 :

  • Multiplexage : HTTP/2 permet d'envoyer plusieurs requêtes et réponses simultanément, au lieu de les traiter une par une comme HTTP/1.1. Cela réduit la latence, améliore l'efficacité et augmente le débit réseau.

  • Transmission binaire : HTTP/2 utilise un protocole binaire, contrairement au protocole texte utilisé par HTTP/1.1. Les protocoles binaires peuvent être analysés plus rapidement, transmettre des données plus efficacement et réduire la surcharge et la latence pendant la transmission.

  • Compression des en-têtes : HTTP/2 utilise l'algorithme HPACK pour compresser les en-têtes HTTP, ce qui réduit la quantité de données d'en-tête transmises et donc la latence réseau.

  • Push serveur : HTTP/2 prend en charge le push serveur, ce qui permet au serveur de pousser des ressources avant que le client ne les demande afin d'améliorer les performances.

  • Sécurité améliorée : HTTP/2 utilise TLS (Transport Layer Security) par défaut pour chiffrer les données transmises, ce qui améliore la sécurité.

  • Compatibilité avec HTTP/1.1 : HTTP/2 peut coexister avec HTTP/1.1, et les serveurs peuvent prendre en charge simultanément HTTP/1.1 et HTTP/2. Si le client ne prend pas en charge HTTP/2, le serveur peut revenir à HTTP/1.1.

Globalement, HTTP/2 apporte des améliorations significatives en matière de performances, de sécurité et d'utilisabilité, rendant les applications web plus rapides, plus efficaces et plus fiables.

La transmission des données utilise le multiplexage, ce qui permet de combiner plusieurs requêtes au sein d'une même connexion TCP, comme le montre la figure suivante :

HTTP/2 réduit la latence réseau et améliore la vitesse de chargement des pages dans le navigateur :

HTTP/2 utilise un format binaire pour transmettre les données au lieu d'un format texte comme HTTP/1.1. Cela améliore l'efficacité et réduit la latence de transmission des données.

HTTP/2 utilise la compression des en-têtes pour réduire la taille des données transmises. Cela aide à réduire l'utilisation de la bande passante réseau et à améliorer la vitesse de chargement des pages.

HTTP/2 permet au serveur d'envoyer activement des données au client sans qu'elles soient demandées. Cela aide à réduire la latence des requêtes et à améliorer la vitesse de chargement des pages.

Autres extensions