Bases des technologies web
Quelle description de HTTP/2 et HTTP/3 est correcte ?
- AHTTP/2 peut traiter plusieurs requêtes en parallèle sur une seule connexion TCP, mais la perte d'un paquet peut faire attendre les autres flux ; HTTP/3 réduit ce problème avec QUIC, sur UDP
- BHTTP/2 est une version qui utilise des messages au même format texte que HTTP/1.1 et ouvre en parallèle une nouvelle connexion TCP par requête pour recevoir plusieurs ressources en même temps
- CHTTP/3 fonctionne sur TCP comme HTTP/2 et ne change que la méthode de compression des en-têtes ; l'effet d'une perte de paquet est le même qu'avec HTTP/2, et UDP n'est pas utilisé
Afficher la réponse et l'explication
Réponse : A. HTTP/2 peut traiter plusieurs requêtes en parallèle sur une seule connexion TCP, mais la perte d'un paquet peut faire attendre les autres flux ; HTTP/3 réduit ce problème avec QUIC, sur UDP
Même HTTP/1.1 peut réutiliser une connexion TCP grâce aux connexions persistantes (keep-alive), mais sur une connexion les réponses sont reçues une par une dans l'ordre ; les navigateurs ouvraient donc plusieurs connexions en parallèle. HTTP/2 découpe les messages en trames binaires et multiplexe plusieurs flux sur une seule connexion TCP pour les envoyer en parallèle. Cependant, TCP livre son flux d'octets dans l'ordre : lorsqu'un seul paquet est perdu, les données de flux sans rapport doivent aussi attendre l'arrivée de la retransmission (blocage en tête de ligne, head-of-line blocking). HTTP/3 utilise QUIC, qui fonctionne sur UDP et gère l'ordre flux par flux, si bien que l'effet d'une perte reste limité au flux concerné.
Continuer : 9 autres questions sur Bases des technologies web