Bienvenue pour vous abonner à notre dernière newsletter JavaScript et cliquez ici pour vous abonner
Maintenant, presque toutes les applications JavaScript utilisent le processus de construction. Même si vous ne traduisez pas de ES2015 ou de TypeScript, il est devenu une pratique standard pour faire une forme de connexion et de compression à votre code. La raison en est qu'il y a des frais généraux considérables pour faire des demandes HTTP. Moins entretenus, les fichiers plus grands sont plus efficaces que de nombreux fichiers plus petits servis. Avec l'adoption de la prochaine version de HTTP / 2, le protocole sous-jacent du réseau, il est peut-être temps de repenser les meilleures pratiques.
HTTP / 2 est basé sur le protocole SPDY de Google, qui est conçu pour améliorer la latence de chargement des pages et améliorer la sécurité en fonction de la norme HTTP 1.1 existante. Les travaux sur ce nouveau protocole ont commencé en 2012, la première version de développement étant une copie directe de SPDY. La norme finale a été publiée en mai 2015 et, en mai de cette année, Google a annoncé qu'ils ne prendront plus en charge SPDY dans Chrome.
En quoi HTTP / 2 est-il différent de son prédécesseur? Une différence majeure est que HTTP / 2 est un protocole binaire , pas un protocole basé sur le texte. Cela le rend plus compact, plus résolu et moins sujet aux erreurs. Un avantage clé de ce protocole est qu'il est multiplexé, ce qui signifie que plusieurs fichiers peuvent être transférés sur une seule connexion. Une autre fonctionnalité largement publiée est le serveur Push, qui permet au serveur de transférer des ressources au client avant les demandes du client, en pré-remplissage du cache.
La prise en charge du nouveau protocole est très bonne, y compris tous les navigateurs grand public. Côté serveur, il est pris en charge par Apache2, Nginx et Microsoft IIS, et il est également pris en charge par Node.js 5.0 et supérieur. La plupart des fournisseurs de navigateurs disent qu'ils ne prendront en charge HTTP / 2 sur les connexions TLS, mais avec l'avènement du certificat SSL gratuit de Let’s Encrypt, c'est une exigence facile. Selon les données recueillies par W3Techs en juin de cette année, environ 8,4% des 10 millions de sites Web soutiennent désormais le nouvel accord. Si vous êtes un utilisateur Chrome, vous pouvez utiliser les extensions d'indicateur HTTP / 2 et SPDY pour obtenir une vue claire des sites Web que vous visitez servir via HTTP / 2.
Que signifie l'adoption de HTTP / 2 pour les développeurs JavaScript? Notre pratique actuelle de connexion de plusieurs fichiers dans des faisceaux rend difficile pour les navigateurs de mettre efficacement notre code: modifier une ligne de code dans un module nécessite de redémarrer l'ensemble du fichier de bundle. Étant donné que le multiplexage HTTP / 2 fait des demandes relativement bon marché, nous avons la possibilité de diviser le code en bundles plus petits et de mieux utiliser le cache pour nous assurer que notre application utilise efficacement la bande passante de l'utilisateur.
Mais si la demande est bon marché, devrions-nous abandonner complètement le bundle? À première vue, cela semble avoir un sens, mais le coût des demandes HTTP n'est pas le seul facteur à considérer. Les serveurs Web limitent également l'efficacité à laquelle ils peuvent servir de grandes quantités de fichiers. Avec la surtension de la communauté JavaScript, passant à des modules plus petits et plus centralisés, fournir ces fichiers aux clients sans une sorte de regroupement ne sera pas idéal. Plus important encore, la combinaison de fichiers ensemble peut réaliser une meilleure compression, ce qui permet d'économiser la bande passante.
Alors, quand devriez-vous envisager de passer à HTTP / 2? La réponse est que cela dépend de la situation. Bien que le support du navigateur soit très bon, si votre public cible est toujours coincé sur les versions plus anciennes de IE, vous êtes en malchance, alors vérifiez les statistiques de vos visiteurs pour voir si cela pourrait profiter à la plupart des utilisateurs. Ce que j'obtiens de tout cela, c'est que le soutien et l'adoption du nouveau protocole se déroulent étonnamment et en tant que développeurs, c'est une tendance que nous ne pouvons pas ignorer.
Quel type de stratégie de regroupement utilisez-vous? Envisagez-vous de passer à HTTP / 2, ou peut-être que vous avez déjà changé? S'il vous plaît laissez-moi savoir dans les commentaires!
http / 2 présente plusieurs avantages par rapport à HTTP / 1. L'un des avantages les plus importants est sa capacité à multiplexer plusieurs demandes sur une seule connexion TCP. Cette fonctionnalité réduit la latence qui peut se produire lors de la réalisation de plusieurs demandes, améliorant ainsi les performances globales de votre application Web. HTTP / 2 prend également en charge la compression d'en-tête, qui réduit les frais généraux et prend en charge la poussée du serveur, permettant au serveur d'envoyer des ressources au client avant les demandes du client.
Dans HTTP / 2, le regroupement de fichiers n'est plus aussi nécessaire que dans HTTP / 1. En effet, HTTP / 2 peut gérer plusieurs demandes sur une seule connexion à la fois, éliminant la nécessité de regrouper les fichiers pour réduire le nombre de demandes. Au lieu de cela, les fichiers peuvent être chargés séparément, ce qui peut améliorer l'utilisation du cache et simplifier la gestion et les mises à jour des fichiers.
Le multiplexage est une caractéristique clé de HTTP / 2, qui permet d'envoyer simultanément plusieurs demandes et réponses sur une seule connexion TCP. Il s'agit d'une amélioration majeure de HTTP / 1, qui ne peut gérer qu'une seule demande par connexion. Le multiplexage réduit la latence associée à plusieurs demandes, améliorant ainsi les performances des applications Web.
Server push est une fonctionnalité de HTTP / 2 qui permet au serveur d'envoyer des ressources au client avant les demandes du client. Cela peut améliorer les performances des applications Web en réduisant le temps nécessaire aux clients pour recevoir et rendre les ressources. Le serveur peut pousser les ressources dont il s'attend à ce que le client ait besoin en fonction de la demande initiale.
Dans HTTP / 2, le regroupement des fichiers est considéré comme une mauvaise pratique car il élimine certains des principaux avantages du protocole. HTTP / 2 est conçu pour gérer plusieurs demandes sur une seule connexion en même temps, de sorte que des fichiers de regroupement peuvent en fait dégrader les performances car il crée des fichiers plus grands et plus complexes qui prennent plus de temps à traiter et à renouveler.
http / 2 peut avoir un impact positif sur le référencement car il peut améliorer la vitesse et les performances du site Web. Les sites plus rapides ont tendance à se classer plus haut dans les résultats des moteurs de recherche car la vitesse de chargement des pages est le facteur de classement. De plus, les fonctions de multiplexage et de push serveur de HTTP / 2 peuvent améliorer l'expérience utilisateur, ce qui contribue également à améliorer le référencement.
http / 2 améliore la sécurité en prenant en charge l'utilisation de HTTPS, qui chiffre les données envoyées entre le client et le serveur. Cela empêche les informations sensibles d'être interceptées ou falsifiées pendant la transmission. De plus, le mécanisme de cadre binaire de HTTP / 2 peut aider à prévenir les attaques contre le protocole HTTP / 1.
http / 2 peut améliorer considérablement la navigation mobile en réduisant la latence et en augmentant la vitesse des applications Web. Ceci est particulièrement bénéfique pour les utilisateurs mobiles qui utilisent souvent des connexions Internet plus lentes. Les capacités de multiplexage et de push de serveur de HTTP / 2 peuvent également améliorer les performances des applications mobiles.
La plupart des navigateurs modernes prennent en charge HTTP / 2, mais les navigateurs plus âgés ne le peuvent pas. Si le client ne prend pas en charge HTTP / 2, le serveur reprendra généralement l'utilisation de HTTP / 1. Il convient de noter que si HTTP / 2 présente de nombreux avantages, il ne remplace pas de bonnes pratiques de codage et doit être utilisé dans le cadre d'une stratégie de performance plus large.
Il existe des outils en ligne qui vérifient si le site Web utilise HTTP / 2, tels que les tests HTTP / 2. Vous pouvez également vérifier manuellement en vérifiant le protocole réseau dans les outils du développeur du navigateur. Si votre site Web n'utilise pas HTTP / 2, vous devrez peut-être mettre à jour le logiciel ou la configuration de votre serveur.
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!