Sous HTTP2, à quelle fréquence les nouvelles connexions TCP sont-elles lancées?

15

Je comprends que HTTP2 vise à tout garder sous une seule connexion TCP, et je me demandais à quelle fréquence les connexions TCP seraient interrompues.

Par exemple, si je visite youtube, fais de la navigation, quitte le site et reviens, vais-je réutiliser la même connexion HTTPS (en termes de TCP 4-tuple, PAS de session), ou une autre?

Une grande partie de cela est probablement spécifique à l'application et dépend de la façon dont le navigateur l'implémente, mais est-il spécifié n'importe où dans la norme?

fruglemonkey
la source

Réponses:

18

Il n'y a que peu de directives dans la section 9 pertinente de la spécification :

  • Il ne doit pas y avoir plusieurs connexions du navigateur au même serveur
  • Les connexions ne doivent pas être fermées "jusqu'à ce qu'il soit déterminé qu'aucune autre communication avec un serveur n'est nécessaire", c'est-à-dire lorsque l'onglet est fermé et qu'aucun autre onglet n'a de communication avec le serveur.
  • Le serveur peut fermer les connexions inactives à tout moment, mais les serveurs sont encouragés à garder les connexions ouvertes aussi longtemps que possible.

Par exemple, si je visite YouTube, fais de la navigation, quitte le site et reviens, vais-je réutiliser la même connexion HTTPS (en termes de TCP 4-tuple, PAS de session), ou une autre?

Dans ce cas, il y a de fortes chances qu'une nouvelle connexion soit utilisée, du moins à moins qu'un autre onglet ne comporte une vidéo de YouTube. Mais comme les ressources sur le client sont généralement moins chères que sur le serveur (sauf peut-être pour les téléphones mobiles), il se peut que le serveur soit le premier à fermer la connexion inactive afin d'économiser des ressources.

Steffen Ullrich
la source