Dans Firefox, qui fera partie de la version 72 prévue pour le 7 janvier, la prise en charge du protocole HTTP/3. Par défaut, HTTP/3 est désactivé et nécessite l'activation de l'option « network.http.http3.enabled » dans about:config.
La prise en charge de HTTP/3 dans Firefox est basée sur un projet développé par Mozilla , fournissant une implémentation pour le client et le serveur du protocole QUIC. Le code des composants pour la prise en charge de HTTP/3 et QUIC est écrit en Rust.
Dans le logiciel client, la prise en charge expérimentale de HTTP/3 est déjà présente dans Chrome et curl, et pour les serveurs, elle est disponible sous la forme pour nginx et basé sur la bibliothÚque ( QUIC et HTTP/3 en Rust développée par Cloudflare). Pour vérifier le fonctionnement des clients HTTP/3, de brouillon de spécification Dans les versions nocturnes de Firefox, qui feront partie de la version 72 prévue pour le 7 janvier.
Rappelons que HTTP/3 standardise l'utilisation du protocole QUIC en tant que transport pour HTTP/2. Le protocole (Quick UDP Internet Connections) est développé par Google depuis 2013 comme une alternative à la combinaison TCP+TLS pour le Web, résolvant les problÚmes de latence dans l'établissement et l'accord des connexions TCP et éliminant les retards dus aux pertes de paquets pendant le transfert de données. QUIC représente une couche au-dessus du protocole UDP, prenant en charge le multiplexage de plusieurs connexions et fournissant des méthodes de cryptage équivalentes à TLS/SSL.
Principales QUIC :
- Haute sécurité, similaire à TLS (en substance, QUIC permet d'utiliser TLS sur UDP) ;
- ContrĂŽle de l'intĂ©gritĂ© du flux, empĂȘchant la perte de paquets ;
- PossibilitĂ© d'Ă©tablir une connexion instantanĂ©ment (0-RTT, dans environ 75% des cas les donnĂ©es peuvent ĂȘtre transmises immĂ©diatement aprĂšs l'envoi du paquet d'Ă©tablissement de connexion) et de garantir des dĂ©lais minimaux entre l'envoi de la demande et la rĂ©ception de la rĂ©ponse (RTT, Round Trip Time) ;
- Non-utilisation lors de la retransmission d'un paquet du mĂȘme numĂ©ro de sĂ©quence, permettant d'Ă©viter toute ambiguĂŻtĂ© lors de la dĂ©termination des paquets reçus et d'Ă©liminer les dĂ©lais d'attente ;
- La perte d'un paquet n'affecte que la livraison du flux qui lui est associé et ne bloque pas la livraison des données dans les flux simultanément transmis via la connexion actuelle ;
- Les mécanismes de correction d'erreurs réduisent les délais dus à la retransmission des paquets perdus. L'utilisation de codes spécifiques de correction d'erreurs au niveau du paquet permet de réduire les situations nécessitant la retransmission des données d'un paquet perdu.
- Les limites des blocs cryptographiques sont alignées sur les limites des paquets QUIC, ce qui réduit l'impact des pertes de paquets sur le décodage du contenu des paquets suivants ;
- Absence de problĂšmes de blocage de la queue TCP.
- Support de l'identifiant de connexion, permettant de réduire le temps d'établissement d'une reconnexion pour les clients mobiles.
- Capacité à se connecter à des mécanismes avancés de contrÎle de congestion.
- Utilisation de techniques de prĂ©vision de bande passante dans chaque direction pour garantir une intensitĂ© d'envoi optimale des paquets, empĂȘchant un glissement vers un Ă©tat de congestion, oĂč des pertes de paquets sont observĂ©es.
- Une augmentation de performance et de bande passante par rapport à TCP. Pour les services vidéo tels que YouTube, l'application de QUIC a montré une réduction de 30% des opérations de re-buffering lors du visionnage de vidéos.
Source : opennet.ru
