Qu’est-ce que HTTP/2 et à quoi sert-il ?



Au cours des 20 dernières années, le World Wide Web a considérablement évolué.
Toutes les technologies améliorées du Web nécessitent des protocoles et des solutions de transfert de fichiers et de communication meilleurs et plus rapides que les protocoles actuels (HTTP) qui atteignent leurs limites technologiques.


Contenu [ Afficher ]


Qu’est-ce que HTTP/2 ?


HTTP/2 est la dernière version du protocole de transport hypertexte (HTTP).
Il a été initialement approuvé en février 2015. C’est près de 20 ans après le HTTP d’origine. HTTP/2 réduit les temps de chargement et apporte de grandes améliorations dans la communication entre les serveurs et les navigateurs. La plupart des navigateurs ont déjà ajouté HTTP/2, et cela n’a pas changé grand-chose du point de vue des utilisateurs. C’est la principale raison pour laquelle beaucoup d’entre nous n’en ont pas encore lu ou entendu parler.


Que fait HTTP/2 ?


En tant que successeur de HTTP, HTTP/2 se concentre sur l’amélioration de toutes les fonctionnalités de HTTP.
Afin de maintenir la compatibilité avec l’ancien protocole, il conserve la plupart des fonctionnalités de HTTP. Cependant, il introduit quelques améliorations drastiques.


HTTP et HTTP/2 définissent tous deux :


  • Quelles actions les navigateurs et les serveurs doivent-ils entreprendre en réponse aux différentes commandes.

  • Comment chaque bit d’information est transféré d’un ordinateur à un autre sur le Web.

  • Comment les messages sont créés, formatés et transmis.


En d’autres termes, HTTP et HTTP / 2 définissent les normes de diffusion de contenu Web sur votre ordinateur, à la différence que HTTP / 2 fait tout plus rapidement que son prédécesseur.
Ici, vous pouvez voir ce que HTTP/2 fait en détail.


Courants multiplexés


Les séries bidirectionnelles de trames au format texte envoyées via le protocole HTTP/2 entre un serveur et un client sont appelées « flux ».
HTTP est capable de transmettre un seul de ces «flux» à la fois. Une fois le flux envoyé, il y a un délai entre la prochaine transmission du flux.


HTTP/2 établit une nouvelle couche de trame binaire qui résout directement le problème de la transmission des « flux » un par un.
Il permet aux clients et aux serveurs de désintégrer la charge utile HTTP/2 en séquences de trames entrelacées minuscules, autonomes et faciles à gérer. Toutes ces informations sont rassemblées une fois reçues à l’autre extrémité. Ce protocole permet l’échange de plusieurs séquences bidirectionnelles, ouvertes simultanément et indépendantes, sans latence entre flux successifs.


Bénéfices:


  • Les demandes et réponses multiplexées en parallèle ne se bloquent pas.

  • Une seule connexion TCP peut garantir une utilisation efficace des ressources réseau, même lorsque plusieurs flux de données sont transmis.

  • Performances Web plus rapides, latence réduite et meilleurs résultats des moteurs de recherche.

  • Réduction des CapEx et OpEx dans le réseau d’exploitation et les ressources informatiques.


HTTP/2 push serveur et cache push


Il s’agit d’une capacité qui permet aux serveurs d’envoyer des informations supplémentaires mises en cache aux clients.
Ces informations ne sont pas demandées mais sont prévues pour des demandes futures. Si le client demande une ressource A et que l’on sait qu’une autre ressource B est référencée avec celle demandée, le serveur peut pousser B avec A au lieu d’attendre une autre demande du client. Le client met ensuite en cache la ressource poussée B pour une utilisation future. Cette fonctionnalité permet d’économiser tout un processus de demande-réponse aller-retour et de réduire la latence du réseau. Google a initialement introduit Server Push dans le protocole SPDY.


Une autre amélioration HTTP / 2 est Cache Push.
Cela met à jour ou invalide de manière proactive le cache client. Cela donne aux serveurs la possibilité d’identifier les ressources push potentielles que les clients ne veulent pas vraiment.


Bénéfices:


  • Les clients peuvent refuser les ressources push pour maintenir un cache de ressources efficace (ou même désactiver complètement Server Push).

  • Les clients peuvent limiter le nombre de flux poussés multiplexés simultanément.

  • Les serveurs peuvent prioriser les ressources pressées.
    C’est une clé dans la différence de performance entre HTTP/2 et HTTP.

  • Les serveurs peuvent multiplexer les ressources poussées avec les informations demandées par le client au sein de la même connexion TCP.

  • Les clients peuvent utiliser des ressources mises en cache via différentes pages.

  • Les clients conservent les ressources dans le cache.


Protocoles binaires


HTTP/2 a considérablement amélioré les capacités en transformant le protocole texte en un protocole binaire.
Alors que HTTP servait à traiter les commandes de texte pour exécuter des cycles requête-réponse, HTTP/2 repose sur des commandes binaires. Cela réduit le temps (à 1s et 0s) pour exécuter les mêmes tâches.


Les navigateurs prenant en charge HTTP/2 convertiront les commandes de texte en code binaire avant de les transmettre sur le réseau.
Cependant, la couche de trame binaire n’est pas prise en charge par les serveurs et les clients HTTP.


Bénéfices:



  • Empêchez les problèmes de sécurité associés à la nature textuelle de HTTP (par exemple, les attaques à réponse partagée).

  • Il active les fonctionnalités HTTP / 2 telles que la compression, la hiérarchisation, le multiplexage, la gestion efficace de TLS et le contrôle de flux.

  • Représentation compacte des commandes pour une mise en œuvre et un traitement plus faciles.

  • Traitement des données robuste et efficace entre les clients et les serveurs.

  • Performances améliorées et latence réseau réduite.

  • Moins de risques d’erreurs par rapport à HTTP.

  • Utilisation très efficace des ressources du réseau.

  • Faible surcharge dans l’analyse des données.

  • Empreinte Web plus légère.


Priorisation des flux


HTTP/2 permet aux clients de fournir des préférences pour certains flux de données.
Les serveurs ne sont pas obligés de suivre les instructions de ces clients, mais ce mécanisme permet aux serveurs d’optimiser l’allocation des ressources réseau en fonction des besoins des utilisateurs.


La hiérarchisation des flux fonctionne avec le poids et les dépendances attribués à chaque flux.
Malgré le fait que tous les flux sont intrinsèquement dépendants les uns des autres, sauf qu’ils ont un poids attribué entre 1 et 256. Les mécanismes de hiérarchisation des flux sont encore un sujet de débat. Cependant, lorsque la hiérarchisation des flux est associée à la capacité HTTP/2 de traiter plusieurs flux sur une seule connexion TCP, cela peut entraîner l’arrivée simultanée de requêtes provenant de serveurs avec des priorités différentes.


Bénéfices:


  • Réduire les effets négatifs de s’inquiéter de la latence du réseau.

  • Amélioration de l’expérience utilisateur et de la vitesse de chargement des pages.

  • Optimisation de la communication des données entre les serveurs et les clients.

  • Utilisation très efficace des ressources du réseau.

  • Délai d’exécution réduit pour les demandes de contenu principal.


Compression de la tête d’état


Lorsque les utilisateurs parcourent des sites Web avec du contenu multimédia, à l’aide de HTTP, les clients envoient plusieurs cadres d’en-tête presque identiques.
En effet, chaque demande client doit inclure toutes les informations dont le serveur a besoin pour effectuer l’opération demandée. Ce processus entraîne une latence et une consommation de ressources inutiles.


HTTP/2 inclut la possibilité de compresser un grand nombre de trames d’en-tête redondantes.
Il est basé sur la spécification HPACK en tant qu’approche simple et sûre de la compression d’en-tête. Les clients et les serveurs conservent une liste d’en-têtes utilisés dans les précédentes requêtes client-serveur. Cela résout directement les problèmes liés aux trames d’en-tête redondantes.


Bénéfices:


  • Encodez les en-têtes couramment utilisés et les grands en-têtes.
    Cela élimine le besoin d’envoyer des trames d’en-tête complètes. La taille individuelle de chaque flux est considérablement réduite.

  • Empêchez les attaques de sécurité telles que CRIME en analysant les flux de données avec des en-têtes compressés.

  • Utilisation efficace des mécanismes de multiplexage.

  • Hiérarchisation efficace des flux.

  • Réduction des frais généraux de ressources.


Avantages réels de HTTP/2


HTTP/2 se concentre sur la maximisation du potentiel de la technologie, pour répondre aux besoins et attentes futurs.
Voici les avantages réels de l’utilisation de HTTP/2.


Web Performace et Mobile Web Performance – HTTP/2 a la capacité d’envoyer et de recevoir plus de données dans un cycle de communication client-serveur.
Cela fonctionne bien pour réduire la latence lors de l’accès aux services Internet sur les réseaux de données mobiles et les réseaux avec une bande passante limitée par utilisateur.


Internet haut débit moins cher – HTTP/2 augmente l’efficacité de la communication de données.
Cela permet aux FAI de réduire les frais généraux en maintenant les normes Internet à haut débit.


Sécurité – HTTP/2 n’est pas vulnérable aux menaces dirigées contre les protocoles de couche d’application basés sur du texte.
De plus, il utilise l’approche « sécurité par l’obscurité » pour protéger la transmission de données sensibles entre les clients et les serveurs.


Portée étendue – Les avantages de HTTP / 2 réduisent les résultats Internet pour les fournisseurs.
Cela conduira à une couverture Internet accrue à l’échelle mondiale.


Expérience Web riche en médias – Les avantages technologiques et les fonctionnalités que HTTP/2 apporte au World Wide Web fournissent une infrastructure capable de fournir un contenu riche en médias à des vitesses de chargement de page plus rapides.


Se termine



HTTP/2 est un protocole relativement nouveau, mais sa prise en charge ne cesse de croître.
Aujourd’hui, la plupart des navigateurs Internet prennent en charge HTTP/2 (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome pour Android). De nombreux serveurs Web incluent le support natif HTTP/2 (Apache HTTP Server, Tomcat, NGINX). Sans aucun doute, HTTP/2 est le protocole WWW du futur.


Deja un comentario