Почему при открытии одной страницы веб-сайта в Chrome несколько TCP-соединений с сервером? - PullRequest
0 голосов
/ 10 октября 2018

Сайт разработан в SpringBoot и развернут на сервере Linux.Когда я открываю одну страницу веб-сайта в Chrome и открываю TCP Viewer, я вижу, что существует несколько TCP-соединений от моего компьютера к серверу.Они используют совершенно разные порты.

enter image description here

И я проверяю вкладку сети в Chrome DevTool, я вижу, что в заголовке запроса есть Keep-Alive.Я думаю, что это использует Http 1.1 и длинные соединения.

Так что это смутило меня.Поскольку это длинное соединение, весь контент должен быть через одно TCP-соединение, почему так много TCP-соединений?

1 Ответ

0 голосов
/ 10 октября 2018

Хотя HTTP / 1.0 и HTTP / 1.1 поддерживают постоянные соединения, где несколько запросов HTTP обрабатываются в одном и том же TCP-соединении, эти запросы по-прежнему обрабатываются после одного и того же соединения.Если с сайта требуется много ресурсов, эта последовательная загрузка с использованием одного TCP-соединения будет слишком медленной.Таким образом, выполняется параллельная загрузка с использованием нескольких соединений TCP.Поскольку большинство сайтов загружают много ресурсов (основной HTML, различные CSS, JavaScript, изображения, шрифты ...), можно увидеть несколько TCP-соединений, используемых с большинством сайтов.

При использовании HTTP / 2 параллельная загрузка в пределах одного TCP-соединенияподдерживается.В этом случае обычно можно увидеть только одно TCP-соединение с сайтом.Конечно, если ресурсы загружаются с нескольких сайтов (т. Е. Реклама, отслеживание ...), каждый снова увидит несколько TCP-подключений - но только по одному на пункт назначения, если HTTP / 2 используется для определенного пункта назначения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...