Table des matières de l'article :
Je suis sûr que vous, comme moi, avez accueilli favorablement le nouvelles que la troisième version majeure du protocole de transfert hypertexte, c'est-à-dire HTTP / 3, a été adopté le mois dernier comme Norme IETF (Groupe de travail sur l'ingénierie Internet). Non, bien sûr, vous ne l'avez pas fait : le Web fonctionne, alors pourquoi s'en soucier ? Mais si vous êtes vaguement intrigué par la raison du changement, voici une brève analyse de l'histoire qui se cache derrière. Ensuite, nous approfondirons les raisons pour lesquelles vous devriez l'adopter pour votre entreprise.
HTTP / 3 est la troisième version du protocole de transfert hypertexte (HTTP) et était auparavant connu sous le nom de HTTP-over-QUIC. QUIC a été initialement développé par Google et est le successeur de HTTP/2. Des entreprises comme Google et Facebook utilisent déjà QUIC pour accélérer le Web.
Une très courte histoire de HTTP
Dans le passé, il y avait deux protocoles Internet avec lesquels vous pouviez choisir de travailler. Même avant le Web, nous devions encore pulvériser des paquets d'informations (ou datagrammes) d'une machine à une autre via Internet. Pour un développeur de jeux, le protocole important était UDP (Protocole de datagramme utilisateur). C'était la norme rapide, tirez et oubliez : vous jetiez un paquet à travers le filet et il était attrapé, ou parfois il ne l'était pas. C'était parfait pour représenter (par exemple) la balle d'un joueur telle qu'elle sortait de votre arme, à travers le filet, pour être affichée sur la machine de votre cible. Même si une balle se perdait en cours de route, au moins la session de jeu dans son ensemble serait toujours bonne.
Mais pour des systèmes plus stables comme le Web, le bon protocole sous-jacent à utiliser était le TCP (Protocole de contrôle de transmission). C'était un système plus formel, qui garantissait la livraison et la bonne commande des colis. Ainsi, il a créé des connexions fiables et, plus tard, des flux d'informations fiables.
Finalement, le World Wide Web et HTTP, écrits sur TCP / IP, ont pris le relais en tant qu'utilisation principale d'Internet. L'autre acronyme manquant est TLS (Transport Layer Security), qui a fourni l'élément de chiffrement et est devenu la norme de sécurité de facto lorsque HTTP / 2 était prêt.
À cette époque, la connexion entre les PC était généralement câblée et toute perte était due au bruit sur les anciennes lignes de cuivre. TCP était bon pour regrouper les mauvais paquets occasionnels. Avec l'essor du Web, les raisons d'utiliser UDP ont diminué.
Entrer en scène QUIC
L'Internet est aujourd'hui un endroit très différent. Oui, j'ai une bonne connexion par fibre optique et de bonnes lignes vers mon PC à la maison, mais la plupart des utilisateurs utilisent Internet via des téléphones ou des ordinateurs portables. Lorsque vous vous déplacez d'arbre en arbre, derrière des murs bloquant ou faisant rebondir des signaux, les connexions sont généralement interrompues et redémarrées. Ce n'est pas ce que TCP aime - il ne veut pas vraiment communiquer sans présentations formelles et sans une bonne poignée de main. En fait, il s'avère que la comptabilité stricte de TCP et l'attente du dernier paquet parasite signifient uniquement que les utilisateurs doivent attendre que les pages Web chargent et téléchargent de nouvelles applications ou réinitialisent un délai de connexion.
Donc, pour profiter de l'informalité d'UDP et permettre au réseau d'utiliser des trucs intelligents à la volée, le nouveau format QUIC (Connexions Internet UDP rapides) a reçu plus d'attention.
Bien que nous ne souhaitions pas voir trop d'intelligence au sein du réseau lui-même, nous sommes beaucoup plus à l'aise avec la prise de décision automatisée de nos jours. QUIC comprend qu'un site est composé de plusieurs fichiers et n'endommagera pas l'ensemble de la connexion simplement parce qu'un fichier n'a pas fini de se charger.
L'autre tendance suivie par QUIC est la sécurité intégrée. Alors que le chiffrement était facultatif auparavant (tel que HTTP ou HTTPS), QUIC est déjà crypté. C'est un fait de nos jours que chaque site doit être crypté, malgré les frais généraux. Ce n'est pas seulement pour s'assurer qu'un homme au milieu ne peut pas voir quel type de jus d'orange vous commandez ; confirmez que vous parlez bien à votre vrai fournisseur de jus d'orange.
Les formats s'améliorent presque toujours, mais ce qu'ils font vraiment, c'est répondre à différentes préoccupations au fil du temps.
Utilisation active
Alors, comment se passe la mise en œuvre ? Il y a trois côtés à considérer ici. Le navigateur, l'infrastructure cloud et le code utilisateur.
Tout d'abord, le navigateur. Il s'agit d'un tableau de la Site "Puis-je utiliser"
Clairement, Google est ravi : les versions de Chrome à partir de la v87 (fin 2020) ont pu utiliser le protocole HTTP/3. Sans surprise, étant donné L'histoire récente d'Apple dans le développement navigateurs, Safari est en retard.
Vous pouvez utiliser l'un de ces sites dès maintenant pour vérifier si votre navigateur est compatible avec HTTP / 3 (peut-être besoin de recharger):
Mais qu'en est-il des sites Web existants ? Votre site l'utilise-t-il actuellement ? Donc, pour tester un site existant, essayez https://geekflare.com/tools/http3-test . Et avant de demander, aucun thenewstack.io ne le supporte actuellement !
Qui fait la promotion de HTTP/3 ?
Maintenant, qui pousse HTTP / 3 ? Eh bien, vous savez déjà; c'est Google. Mais aussi les CDN, par exemple Cloudflare et Rapidement. Leur pain quotidien est la réactivité du web. Par conséquent, la manière la plus simple d'implémenter HTTP/3 est via un CDN. C'est aussi un changement qui profite un peu plus aux mobinautes.
Il existe des serveurs créés avec QUIC (par exemple LiteSpeed), mais l'adoption n'a pas été uniforme. De nombreux serveurs dépendent de bibliothèques tierces, de sorte que le modèle de réutilisation des interruptions de travail existantes et vérifiées dans ce cas tombe en panne. Les serveurs existants, tels que Node.js, NGINX et Apache, perdent les avantages de l'expérience utilisateur lorsqu'ils commencent à implémenter de nouvelles extensions. Et inversement, les nouvelles bibliothèques sont relativement peu éprouvées. L'intérêt d'utiliser un serveur Web est qu'il est fiable, bien testé et entretenu.
Actuellement dans Managed Server, notre société, après environ 6 mois de tests et de surveillance, nous avons mis en production le support du protocole QUIC pour les serveurs Web NGINX qui sont à la base de notre pile logicielle Web orientée performance.
Nous pouvons prétendre être un hébergement qui fournit HTTP3 et QUIC sur les plans haut de gamme.
Par conséquent, contrairement à de nombreux autres fournisseurs d'hébergement qui utilisent QUIC exclusivement avec des serveurs Web prenant en charge QUIC par défaut, tels que LiteSpeed, nous avons pu intégrer cette amélioration importante dans un excellent serveur Web comme NGINX.
Adoption de HTTP/3
Dans des circonstances normales, je plongerais dans du code, mais je pense que ce serait un peu prématuré à ce stade. Il existe une pléthore de projets qui changent probablement tous régulièrement, alors creusez plus profondément.
En regardant quelques exemples simples d'opération minimale (par exemple un simple serveur et un simple client), nous pouvons reconnaître différents niveaux de travail.
Tout d'abord, la connexion. Ce canal de niveau supérieur est initialement établi entre deux points d'extrémité. UN identifiant de connexion. Une fois établie, si les protocoles sous-jacents changent (un téléphone changeant de wi-fi, par exemple), la connexion reste pour éviter d'avoir à tout recommencer.
Les connexions s'ouvrent alors les flux qui transportent leur propre type de données et n'interfèrent pas les uns avec les autres.
Il y a encore des colis en dessous. Chaque paquet, comme une lettre bien adressée, possède sa propre connexion et ses propres informations cryptographiques. Et à l'intérieur de l'enveloppe il y a quelques cadres. Ceux-ci représentent les données réelles transmises.
Comme je l'ai dit plus tôt, les progrès ne reflètent vraiment que l'évolution des habitudes d'utilisation. Aujourd'hui, nous apprécions la sécurité et la rapidité car nous ne traitons plus le Web comme une magie peu fiable et l'utilisons donc pour gérer nos affaires personnelles. HTTP / 3 aidera à s'aligner sur ces préoccupations. Les éléphants dans la salle pourraient être Web3 et les riches mondes émergents du métaverse. Peut-être que de nouvelles idées issues de ces domaines contribueront à un HTTP / 4 éventuel, possible et probable à l'avenir.