Maison >Périphériques technologiques >Industrie informatique >Http / 2: les avantages, les inconvénients et ce que vous devez savoir
http / 2: amélioration révolutionnaire de la vitesse de chargement des pages Web
HTTP / 2 est une mise à niveau majeure vers HTTP / 1.1, conçue pour résoudre les problèmes de performances et réduire le temps de chargement du site Web. Il y parvient grâce à des fonctionnalités telles que des flux multiplexés, des push du serveur, une compression d'en-tête et un format binaire.
Le multiplexage permet d'envoyer simultanément plusieurs demandes et réponses sur une connexion TCP unique, réduisant la congestion et la vitesse croissante. Le serveur push envoie activement des ressources au cache du navigateur, améliorant ainsi les performances. La compression de l'en-tête réduit le temps de récupération des données et l'utilisation de la bande passante. Le format binaire est plus facile à traiter, réduisant ainsi la charge de travail du serveur et le temps de chargement de la page.
Les développeurs n'auront plus besoin d'utiliser des solutions telles que l'image Sprite, la connexion en ligne et le fichier pour réduire le nombre de demandes sur les pages Web. Cependant, la plupart des navigateurs compatibles HTTP / 2 nécessitent un chiffrement HTTPS, qui peut poser un défi à certains utilisateurs qui envisagent de changer.
Bien que HTTP / 2 ait de nombreux avantages, il a également été critiqué pour son débit sur la bande passante et la négligence des problèmes de confidentialité. Certains croient que HTTP / 2 peut ne pas durer longtemps en raison du développement rapide de la technologie et de la nécessité de protocoles plus flexibles pour relever les défis technologiques changeants.
Comment fonctionne Http / 1.1
Lorsque vous accédez à une page Web, le navigateur obtient la page en demandant toutes les ressources de la page du serveur Web. Depuis la naissance du Web, cela a été fait principalement via HTTP / 1.1.
Au fil du temps, la technologie continue d'évoluer, les sites Web deviennent de plus en plus complexes et à forte intensité de ressources, le protocole HTTP / 1.1 subit une pression croissante et nécessite de nombreuses solutions de contournement pour faire face aux problèmes de performance.
Les pages Web d'aujourd'hui contiennent généralement beaucoup de ressources, telles que des images, du texte, des polices, etc., ce qui les rend beaucoup plus lourds que ceux des années 90 et même des années 2000. En conséquence, ils se chargent plus longtemps, donc les concepteurs de sites Web et les développeurs proposent des solutions de contournement intelligentes pour résoudre ce problème. Cependant, il est évident que le protocole HTTP lui-même doit être mis à jour.
Comment fonctionne Http / 2
Votre navigateur enverra toujours des demandes au serveur et recevra des réponses aux ressources requises afin que la page Web puisse s'afficher correctement, mais les nuances entre les deux changeront. HTTP / 2 introduit de nouvelles fonctionnalités telles que les flux multiplexés, la poussée du serveur, la compression d'en-tête et les formats binaires, que nous explorerons à leur tour.
Stream de multiplexage: Le multiplexage transmet ces ressources en parties plus petites, les passe par une connexion, puis réassemble les ressources une fois qu'elles atteignent leur destination finale (navigateur), éliminant ainsi les problèmes de congestion causés par de nombreuses accouchements de connexion des ressources telles que du texte, des polices et des images.
Push du serveur: Le serveur push représente un moyen plus efficace de fournir des ressources au navigateur. Dans un environnement HTTP / 1, la page HTML est envoyée au navigateur, qui doit l'analyser et déterminer les ressources dont il peut avoir besoin, puis demander ces ressources au serveur. HTTP / 2 est plus proactif à cet égard, envoyant des ressources dont le navigateur peut avoir besoin sans demande. Ces ressources entrent dans le cache du navigateur et sont immédiatement disponibles en cas de besoin, ce qui est un avantage pour les performances.
Compression d'en-tête: Dans HTTP / 1, chaque demande envoyée est jointe avec une petite partie des données supplémentaires - l'en-tête HTTP - qui décrit comment le navigateur ou le serveur se comporte. En moyenne, un navigateur peut établir environ 6 connexions à la fois, mais étant donné que le nombre de connexions nécessaires pour charger une page Web typique peut atteindre 100, cela nécessite toujours de récupérer une grande quantité de données, ce qui prend du temps et de la bande passante . Lorsqu'une connexion HTTP / 2 est établie, tous les en-têtes sont emballés dans un bloc comprimé et envoyés dans son ensemble. Il transmet plus rapidement et une fois la transmission terminée, le bloc d'en-tête est décodé.
Format binaire au lieu du format de texte: Le format de texte a des frais généraux supplémentaires qui nécessitent une amélioration, tandis que le format binaire ne nécessite aucun analyse. C'est aussi plus compact. Le travail supplémentaire du serveur signifie plus de temps pour attendre que la page Web se charge. C'est pourquoi le format binaire est plus facile à gérer et est une amélioration raisonnable.
Ce que les différentes choses peuvent faire maintenant
Les développeurs n'auront plus besoin de traiter les connexions Image Sprite, en ligne et en fichiers, car il n'est pas nécessaire de réduire le nombre de demandes sur la page Web. Fondamentalement, ce sera le plus grand changement dans leur travail quotidien. Cependant, il y a plus à dire sur les changements internes qui peuvent affecter leur travail d'une manière ou d'une autre.
choses à noter
Bien que la spécification HTTP / 2 elle-même ne soit pas obligatoire, la plupart des navigateurs qui prennent en charge HTTP / 2 nécessitent un chiffrement HTTPS. Cela signifie que si votre site HTTP / 2 n'est pas fourni via une connexion cryptée, les visiteurs devront soit trouver un autre client pour accéder à votre site ou le manquer.
Bien qu'il y ait maintenant des tendances qui conduisent des sites à livrer via HTTPS, les navigateurs ont critiqué cette exigence et seront sans aucun doute une pierre d'achoppement pour certaines personnes qui envisagent de passer à HTTP / 2. (Pour plus de conseils sur ce qu'est HTTPS et comment le mettre en œuvre, lisez la récente introduction de SitePoint à HTTPS.)
Pour le public, la transition du réseau sera transparente. Les modifications et les mises à niveau requises pour fonctionner dans la nouvelle version du protocole seront effectuées dans le serveur et dans le navigateur. Le serveur sera mis à jour au fil du temps, en prenant finalement les deux protocoles. Les navigateurs qui prennent en charge le nouveau protocole passeront automatiquement à HTTP / 2. En même temps, les vieux navigateurs ne pourront pas le comprendre. En tant que développeur, vous devez savoir si votre navigateur et le serveur que vous utilisez prennent en charge pour HTTP / 2 pour s'assurer que la connexion sera mise à niveau vers HTTP / 2.
Certaines controverses
Alors que beaucoup sont enthousiasmés par HTTP / 2, d'autres, comme Kamp-Henning Kamp, ne sont pas si impressionnés. Kamp pense que HTTP / 2 est "vraiment juste un grand nom pour HTTP / 1.2" et pense que s'il décolle, il ne durera probablement pas longtemps.
À son avis, le nouveau protocole ne résout pas le problème réel, mais se concentre trop sur la bande passante. Un meilleur objectif, suggère-t-il, devrait être d'annuler le concept de cookies et de le remplacer par un outil de session / identité. Cela améliorera la vie privée dans un monde avec des risques de sécurité croissants dans une certaine mesure. Et HTTP / 2, estime Kamp, n'améliore pas de manière significative la vie privée.
Affichez la différence
Cette démonstration Akamai illustre comment les ressources sont chargées simultanément dans les deux versions de protocole. La première image est chargée via HTTP / 1 et six connexions simultanées (si vous utilisez Google Chrome), tandis que la deuxième image est chargée via HTTP / 2 dans son ensemble, toutes les pièces sont chargées en même temps.
Si vous souhaitez mieux comprendre comment les données se chargent différemment dans les connexions du protocole, consultez cet exemple de Golang.org. Il vous permet d'essayer différents paramètres de retard afin que vous puissiez voir comment les données sont chargées simultanément sur les appareils de capacité différente. Plus la latence est longue, plus le HTTP / 2 gagne évident en termes de performances.
Bottom Line
http / 2 sera une transition en douceur pour les utilisateurs ordinaires, et pour ceux qui travaillent dans le réseau, il y a des choix à faire.
D'une manière générale, le site Web sera plus sûr et se chargera plus rapidement. L'accord n'a provoqué aucun changement fondamental, probablement parce qu'il est plus techniquement et politiquement plus difficile à réaliser. C'est pourquoi HTTP / 2 peut ne pas nous servir depuis aussi longtemps.
Le monde de la technologie se développe plus vite chaque année, donc dans quelques années, nous pourrions avoir besoin de autre chose. Mon espoir personnel est que le prochain protocole sera plus flexible et plus courageux pour faire face à l'évolution des défis technologiques.
(FAQ) FAQs sur HTTP / 2 (La section FAQ est omise ici car le contenu se chevauche fortement avec le contenu précédemment couvert, de sorte que la duplication est évitée.)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!