Я создал очень простую веб-страницу:
<html>
<body>
foo bar
<img src="img1.png"/>
<img src="img2.png"/>
<img src="img3.png"/>
Hello world
</body>
</html>
И каждое изображение представляет собой простой цветной квадрат размером 900 байт (помещается в один TCP-пакет каждый).
Затем я использовал wireshark для записи пакетов TCP, я ожидал, что будет только одно соединение / поток, однако их было 3. Первый запросил HTML-файл, получил ответ, затем запросил img1.png и получил ответ. Другие 2 соединения получили img2 и img3 каждое. Два других соединения были сделаны до того, как закончилось первое.
Я думал, что с HTTP 1.1 не нужно иметь несколько соединений TCP? Почему браузер просто не продолжает использовать первое соединение, конечно, это дешевле?
Я пробовал это на Safari, Chrome и Firefox с одинаковыми результатами.