Les versions nocturnes de Firefox prennent désormais en charge HTTP/3

В constructions nocturnes Firefox, qui servira de base à la sortie de Firefox 72, prévue le 7 janvier ajoutée Prise en charge du protocole HTTP/3. Par défaut, HTTP/3 est désactivé et nécessite que l'option « network.http.http3.enabled » soit activée dans about:config.

La prise en charge HTTP/3 dans Firefox est basée sur un projet développé par Mozilla neqo, qui fournit une implémentation client et serveur pour le protocole QUIC. Le code du composant pour la prise en charge HTTP/3 et QUIC est écrit en Rust.
Depuis le logiciel client, la prise en charge expérimentale de HTTP/3 est également déjà disponible. ajoutée dans Chrome et curl, et pour les serveurs il est disponible sous la forme модуля pour nginx et serveur de tests basé sur une bibliothèque quiche (mise en oeuvre QUIC et HTTP/3 dans Rust de Cloudflare). Pour tester le fonctionnement des clients HTTP/3 lancé plusieurs sites de tests, dont la plupart ne s'ouvrent pas encore correctement dans Firefox (HTTP/3 en est au stade projet de spécification et n'est pas complètement standardisé).

Rappelons que HTTP/3 standardise l'utilisation du protocole QUIC comme transport pour HTTP/2. Protocole QUIC (Quick UDP Internet Connections) a été développé par Google depuis 2013 comme alternative à la combinaison TCP+TLS pour le Web, résolvant les problèmes de longs temps de configuration et de négociation des connexions en TCP et éliminant les retards en cas de perte de paquets lors du transfert de données. QUIC est une extension du protocole UDP qui prend en charge le multiplexage de plusieurs connexions et fournit des méthodes de cryptage équivalentes à TLS/SSL.

principal caractéristiques RAPIDE :

  • Haute sécurité similaire à TLS (essentiellement QUIC offre la possibilité d'utiliser TLS sur UDP) ;
  • Contrôle de l'intégrité du flux, empêchant la perte de paquets ;
  • La possibilité d'établir instantanément une connexion (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 fournir des délais minimes entre l'envoi d'une demande et la réception d'une réponse (RTT, Round Trip Time) ;
  • Ne pas utiliser le même numéro de séquence lors de la retransmission d'un paquet, ce qui évite toute ambiguïté dans l'identification des paquets reçus et supprime les délais d'attente ;
  • La perte d'un paquet affecte uniquement la livraison du flux qui lui est associé et n'arrête pas la livraison des données dans les flux parallèles transmis via la connexion en cours ;
  • Fonctionnalités de correction d'erreurs qui minimisent les retards dus à la retransmission des paquets perdus. Utilisation de codes de correction d'erreurs spéciaux au niveau des paquets pour réduire les situations nécessitant une retransmission de données par paquets perdues.
  • 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 ;
  • Aucun problème avec le blocage de la file d'attente TCP ;
  • Prise en charge de l'identifiant de connexion, qui réduit le temps nécessaire pour établir une reconnexion pour les clients mobiles ;
  • Possibilité de connecter des mécanismes avancés de contrôle de la congestion des connexions ;
  • Utilise des techniques de prévision du débit par direction pour garantir que les paquets sont envoyés à des débits optimaux, les empêchant ainsi d'être encombrés et de provoquer une perte de paquets ;
  • Perceptible gagner performances et débit par rapport à TCP. Pour les services vidéo tels que YouTube, il a été démontré que QUIC réduit de 30 % les opérations de rebuffering lors du visionnage de vidéos.

Source: opennet.ru

Ajouter un commentaire