Под HTTP2, как часто инициируются новые соединения TCP?


15

Я понимаю, что HTTP2 стремится держать все под одним TCP-соединением, и мне было интересно, как часто TCP-соединения будут разрываться.

Например, если я зайду на youtube, зайду на сайт, уйду с сайта и вернусь, буду ли я повторно использовать то же соединение HTTPS (в терминах TCP 4-tuple, NOT session) или другое?

Многое из этого, вероятно, зависит от приложения и зависит от того, как его реализует браузер, но указано ли оно где-нибудь в стандарте?

Ответы:


18

В соответствующем разделе 9 спецификации есть только несколько рекомендаций :

  • Не должно быть нескольких подключений из браузера к одному серверу
  • Соединения не следует закрывать «до тех пор, пока не будет определено, что дальнейшая связь с сервером не требуется», т. Е. Когда вкладка закрыта и никакие другие вкладки не имеют связи с сервером
  • Сервер может закрыть незанятые соединения в любое время, но серверам рекомендуется держать соединения открытыми как можно дольше.

Например, если я захожу на YouTube, выполняю какой-то просмотр, покидаю сайт и возвращаюсь, буду ли я повторно использовать то же соединение HTTPS (с точки зрения TCP 4-tuple, NOT session) или другое?

В этом случае высока вероятность того, что будет использовано новое соединение, по крайней мере, если на другой вкладке не будет вставлено видео с YouTube. Но поскольку ресурсы на клиенте обычно дешевле, чем на сервере (за исключением, может быть, мобильных телефонов), возможно, именно сервер первым закроет свободное соединение, чтобы сэкономить ресурсы.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.