Sob HTTP2, com que frequência as novas conexões TCP são iniciadas?

15

Entendo que o HTTP2 tem como objetivo manter tudo sob uma única conexão TCP, e fiquei pensando com que freqüência as conexões TCP seriam derrubadas.

Por exemplo, se eu visitar o youtube, navegar, sair do site e voltar, reutilizarei a mesma conexão HTTPS (em termos de TCP 4-tupla, NÃO sessão) ou outra?

Provavelmente, muito disso é específico do aplicativo e até como o navegador o implementa, mas ele está especificado em algum lugar do padrão?

fruglemonkey
fonte

Respostas:

18

Existem apenas algumas diretrizes na seção relevante 9 da especificação :

  • Não deve haver várias conexões do navegador para o mesmo servidor
  • As conexões não devem ser fechadas "até que seja determinado que nenhuma comunicação adicional é necessária", ou seja, quando a guia estiver fechada e nenhuma outra guia tiver comunicação com o servidor
  • O servidor pode fechar conexões inativas a qualquer momento, mas os servidores são incentivados a manter as conexões abertas o maior tempo possível.

Por exemplo, se eu visitar o YouTube, navegar, sair do site e voltar, reutilizarei a mesma conexão HTTPS (em termos de TCP 4-tupla, NÃO sessão) ou outra?

Nesse caso, são grandes as chances de que uma nova conexão seja usada, pelo menos, a menos que outra guia tenha algum vídeo do YouTube incorporado. Mas como os recursos no cliente geralmente são mais baratos do que no servidor (exceto talvez para celulares), pode ser que o servidor seja o primeiro a fechar a conexão inativa para economizar recursos.

Steffen Ullrich
fonte