Qu’est – ce que tu veux faire? Est http \/ 3: plus d’informations sur le nouveau protocole basé sur UDP rapide
TL; En novembre 2018, l’internet Engineering Task Force (IETF) s’est réunie à Bangkok et a adopté un nouveau projet d’internet. Le Protocole de transport quic est un successeur de http \/ 2 et est maintenant renommé http \/ 3. Http \/ 3, basé sur le Protocole de datagramme utilisateur (UDP), a été utilisé par de grandes entreprises Internet telles que Google et Facebook. Si vous utilisez chrome et que vous vous connectez à un service Google, vous pouvez déjà utiliser quic. La nouvelle version du protocole HTTP bénéficie du Protocole UDP en métal nu de bas niveau et définit de nombreuses nouvelles fonctionnalités dans les versions précédentes de http au niveau TCP. Cela fournit un moyen de résoudre les contraintes de l’infrastructure Internet existante.
Le premier résultat est prometteur: lorsque le projet Internet de l’IETF expirera en 2021, nous pouvons nous attendre à ce que http \/ 3 soit promu en tant que nouvelle norme http de troisième génération. Comme http \/ 2, http \/ 3 s’appuiera à nouveau sur ces résultats pour accélérer le Web. Progrès http \/ 3 en 2022 certains affirment que le désir de l’industrie du Web d’être plus rapide et plus lent ne correspond qu’au désir de Google Chrome d’avoir plus de RAM. Il y a quelques années, nous avons publié un article sur http \/ 2, qui, selon w3techs, est une norme et qui a maintenant une adoption mondiale d’environ 45%. Selon can I use, il est supporté par tous les navigateurs Web modernes. Cependant, nous sommes en train d’écrire un article sur la prochaine version du Protocole http \/ 3.
\
Bien que http \/ 3 ne soit pas encore un protocole Internet officiel, de nombreuses entreprises et projets ont commencé à ajouter le support http \/ 3 à leurs produits. Qu’est – ce que http \/ 3? En termes simples, http \/ 3 est la troisième version du Protocole de transfert hypertexte (http), anciennement appelé http sur Quick. Quic (Quick UDP Internet Connection), développé à l’origine par Google, est le successeur de http \/ 2. Des entreprises comme Google et Facebook ont utilisé quic pour accélérer le Web. Par défaut, http \/ 3 est activé pour le support frontal du navigateur Web pour http \/ 3, chrome v87, Firefox v88 et Edge v87. Pour les utilisateurs de Safari, l’option d’activer http \/ 3 a été ajoutée à l’aperçu technique de Safari v104. Cependant, il n’y a actuellement aucun support http \/ 3 dans la version stable de safari.
Support de bibliothèque pour http \/ 3 pour les développeurs qui veulent profiter de la technologie http \/ 3, de nombreuses bibliothèques populaires ont ajouté le support pour http \/ 3. Comme http \/ 3 en est encore à l’étape de l’ébauche d’Internet, nous vous recommandons d’utiliser l’une des bibliothèques suivantes pour vous assurer que vous avez été mis à jour. Python – http3 e aioquic Rust: Quiche, neqo e Quinn c – nghttp3 e lsquic vai – quicgo JavaScript – node. Support de l’infrastructure JS pour http \/ 3 en termes d’infrastructure, cloudflare ouvre la voie au support http \/ 3 via son réseau périphérique. Cela signifie que les sites activés par cloudflare peuvent bénéficier d’améliorations de sécurité et de performance http \/ 3 sans aucun travail supplémentaire.
À kinsta, tous les sites que vous hébergez
Nous réalisons également une plus grande flexibilité dans l’ordre des téléchargements statiques et nos pages ne sont plus limitées par des téléchargements linéaires.
Tout ce que nous pouvons dire, c’est que les premiers jours de l’adoption de cette version ne conviennent pas aux lâches. La mise en œuvre de nginx manque également de capacités de serveur Push basées sur des modules. Les modules nginx ne sont pas les modules plug – in Apache habituels et vous pouvez simplement les copier: nginx doit être recompilé avec ces modules. Bien que certains de ces problèmes soient maintenant résolus, si nous regardons l’ensemble de la pile, nous constatons que la contrainte principale est à un niveau inférieur que http \/ 2 n’ose pas prendre de risques. Pour résoudre ce problème, nous analyserons la pile de protocole Internet d’aujourd’hui de bas niveau à haut niveau. Si vous souhaitez en savoir plus sur le contexte http \/ 2, assurez – vous de consulter notre guide http \/ 2 final.
Protocole Internet (IP) Le protocole Internet (IP) définit le bas de toute la topologie Internet. Il fait partie de la pile Internet, les messages
Nous disons tranquillement qu’il n’y a vraiment pas de négociation sans tout changer, y compris le remplacement de toute l’infrastructure matérielle, des routeurs aux serveurs et même aux machines de l’utilisateur final. Par conséquent, si une révision du Protocole peut être nécessaire, une tâche aussi ambitieuse n’est pas encore apparue, principalement parce que nous n’avons pas trouvé de solution de rechange viable et révolutionnaire, mais compatible avec les versions précédentes. Nous remontons à 1974, dans un document publié par l’Institute of Electrical and Electronic Engineers, par Vint Cerf et Bob Cahn. Décrit en détail les paquets envoyés par le réseau, qui sont acheminés par l’adresse IP du noeud et l’adresse définie numériquement dans le réseau. Le Protocole définit le format, l’en – tête et la charge utile de ces paquets ou datagrammes. À la suite de la définition de la RFC 760 de 1980, l’IETF a accepté la définition largement utilisée jusqu’à présent dans l’appel d’observations 791. C’est la quatrième version du Protocole, mais on peut dire qu’il s’agit de la première version de production.
C’est une erreur. Tout cela indique de nombreuses étapes pour faire de TCP un protocole fiable, la base des services Internet les plus populaires que nous utilisons aujourd’hui. Ses spécifications remontent à 1974 (RFC 675) et 1981 (RFC 793) et n’ont subi que des changements importants jusqu’à aujourd’hui. Cependant, la fiabilité offerte par TCP est gratuite. Surcharger tous les trajets aller – retour nécessaires à la poignée de main, à la rétroaction de livraison, à la garantie de commande et à la somme de contrôle, qui peuvent être considérés comme faiblement redondants. Il fait de TCP le goulot d’étranglement de la pile de protocole moderne. Http \/ 2 a atteint une plate – forme d’amélioration de la vitesse qui peut être implémentée sur TCP. UDP User Datagram Protocol (UDP) fait également partie de la suite de protocoles Internet avec la spécification de 1980 (RFC 768). Comme son nom l’indique, il s’agit d’un protocole sans connexion basé sur des datagrammes. Cela signifie qu’il n’y a pas de poignée de main et qu’il n’y a aucune garantie de commande ou de livraison. Cela signifie s’assurer que toutes les étapes possibles de la prestation, de l’intégrité des données et d’autres aspects demeurent au niveau de l’application. Cela signifie qu’une application basée sur UDP peut choisir la politique à utiliser au cas par cas ou peut utiliser des éléments de la couche de liaison tels que checksum pour éviter la surcharge. Comme UDP est aussi vaste que TCP, il peut être amélioré sans avoir à mettre à jour le firmware ou à apporter des changements importants au système d’exploitation sur un large éventail d’appareils connectés à Internet. Le déploiement du nouveau protocole est entravé par de nombreux pare – feu, nat, routeurs et autres boîtes intermédiaires qui ne permettent le déploiement de TCP ou UDP qu’entre les utilisateurs et les serveurs auxquels ils ont besoin d’accéder. Ce fil de nouvelles hacker peut nous aider à comprendre pourquoi nous avons créé une nouvelle version http de SOP
Le noeud cible est bloqué jusqu’à ce que les paquets manquants soient retransmis. Dans son livre sur http \/ 3, Daniel Stenberg l’appelle un bloc de ligne basé sur TCP. Il dit qu’avec un taux de perte de paquets de 2%, les utilisateurs peuvent faire mieux avec http \/ 1, avec six connexions couvrant ce risque. Quic n’est pas lié par cela. Quic est basé sur le Protocole UDP, pas de connexion, le concept de connexion n’est pas limité par TCP, les erreurs dans un flux ne peuvent pas affecter d’autres flux. Comme l’a dit Lucas pardue de cloudflare:
L’IETF quic devrait pouvoir accueillir plus que http. Cependant, à l’heure actuelle, tout travail sur les protocoles non http sur quic sera suspendu. Une autre décision du Groupe de travail de l’IETF est que la version normalisée utilisera le chiffrement TLS 1.3 Au lieu de la solution personnalisée de Google. TLS 1.3 accélère également le Protocole par rapport aux versions précédentes, car sa poignée de main nécessite moins d’aller – retour. Kinsta prend en charge TLS 1.3 sur tous les serveurs et le CDN kinsta. À ce stade, Google continue d’utiliser sa version quic dans ses produits pour orienter ses efforts de développement vers la norme IETF. La plupart des autres lecteurs Internet sont basés sur la version IETF (en plus du cryptage, les deux sont également différents). Si nous ouvrons l’outil de développement chrome et chargeons certains produits Google, comme gmail, dans la barre de Protocole de l’onglet réseau, nous verrons beaucoup de ressources chargées via le Protocole quic de la version Google. Cela s’applique également aux produits Google tels que Analytics, Google Tag Manager, etc.
Et cache les données des connexions http \/ 3 précédentes et se connecte directement (zéro aller – retour ou 0 – RTT) lors d’un accès ultérieur au même hôte. On a fait valoir qu’étant donné que http \/ 2 n’avait pas encore été pleinement adopté, il serait peut – être prématuré de promouvoir largement http \/ 3. C’est un point de vue valable, mais comme nous l’avons mentionné précédemment, le Protocole a été testé et mis en œuvre à grande échelle. Google a commencé les tests en 2015 et Facebook en 2017. En 2022, nous avons obtenu le support http \/ 3 des principaux navigateurs tels que Google Chrome et brave. Sur le plan de l’infrastructure, des serveurs Web comme litespeed et nginx ont des implémentations de travail http \/ 3, tandis que des fournisseurs de réseau comme cloudflare ont mis en place un support complet pour http \/ 3. Actuellement, http \/ 3 en est encore au stade de l’ébauche d’Internet et la dernière version expirera en 2021. Cette année sera excitante, car nous pouvons nous attendre à ce que les principaux fournisseurs de logiciels mettent en œuvre de nouvelles normes.