Wie oft werden unter HTTP2 neue TCP-Verbindungen initiiert?

15

Ich verstehe, dass HTTP2 darauf abzielt, alles unter einer einzigen TCP-Verbindung zu halten, und ich habe mich gefragt, wie oft TCP-Verbindungen abgebaut würden.

Wenn ich beispielsweise YouTube besuche, browse, die Website verlasse und zurückkomme, verwende ich dann wieder dieselbe HTTPS-Verbindung (in Bezug auf TCP 4-Tupel, NICHT Sitzung) oder eine andere?

Vieles davon ist wahrscheinlich anwendungsspezifisch und hängt davon ab, wie der Browser es implementiert, aber ist es irgendwo im Standard spezifiziert?

Fruglemonkey
quelle

Antworten:

18

Es gibt nur wenige Richtlinien in dem relevanten Abschnitt 9 der Spezifikation :

  • Es sollten nicht mehrere Verbindungen vom Browser zum gleichen Server bestehen
  • Verbindungen sollten nicht geschlossen werden, "bis festgestellt wird, dass keine weitere Kommunikation mit einem Server erforderlich ist", dh wenn die Registerkarte geschlossen ist und keine anderen Registerkarten mit dem Server kommunizieren
  • Der Server kann inaktive Verbindungen jederzeit schließen. Es wird jedoch empfohlen, die Verbindungen so lange wie möglich offen zu halten.

Wenn ich beispielsweise YouTube besuche, browse, die Website verlasse und zurückkomme, verwende ich dann wieder dieselbe HTTPS-Verbindung (in Bezug auf TCP 4-Tupel, NICHT Sitzung) oder eine andere?

In diesem Fall ist die Wahrscheinlichkeit groß, dass eine neue Verbindung verwendet wird, zumindest wenn in einem anderen Tab ein Video von YouTube eingebettet ist. Da die Ressourcen auf dem Client in der Regel günstiger sind als auf dem Server (mit Ausnahme von Mobiltelefonen), wird der Server möglicherweise als erster die inaktive Verbindung schließen, um Ressourcen zu sparen.

Steffen Ullrich
quelle