Bases des technologies web

Quelle description de HTTP/2 et HTTP/3 est correcte ?

  1. 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
  2. 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
  3. 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é.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases des technologies web

  1. On récupère, l'un après l'autre, un fichier HTML et les quatre images qu'il référence sur un serveur web dont le RTT est de 40 ms. On suppose que l'établissement d'une connexion TCP prend un aller-retour et que chaque requête et sa réponse prennent un aller-retour, et l'on néglige le temps de transfert des données, le temps de traitement du serveur, TLS et la fermeture des connexions. Quelle est la différence de durée totale entre l'ouverture d'une nouvelle connexion TCP pour chaque objet et la réutilisation d'une seule connexion TCP (connexion persistante) ?
  2. HTTP est un protocole sans état. Quelle description de ce que cela signifie et de la façon habituelle dont un site web garde un utilisateur connecté est correcte ?
  3. Quelle description du cookie défini par l'en-tête ci-dessus est correcte ?
  4. Quelle description d'une différence entre le localStorage du navigateur et les cookies est correcte ?
  5. Trois serveurs d'application sont placés derrière un répartiteur de charge, qui leur distribue les requêtes à tour de rôle (round robin). Les informations de session d'un utilisateur connecté sont conservées uniquement dans la mémoire du serveur qui a traité la connexion. Quelle combinaison d'un problème probable et de sa contre-mesure est appropriée ?