Основная причина этого - ресурсы на стороне сервера.
Представьте, что у вас есть сервер, на котором работает Apache с 256 рабочими потоками по умолчанию.Представьте, что на этом сервере размещена страница индекса, на которой размещено 20 изображений.Теперь представьте, что 20 клиентов одновременно подключаются и загружают страницу индекса;каждый из этих клиентов закрывает эти соединения после получения страницы.
Поскольку каждый из них теперь устанавливает соединения для загрузки образа, вы, вероятно, видите, что соединения увеличиваются в геометрической прогрессии (или, я полагаю, мультипликативно).Подумайте, что произойдет, если каждый клиент настроен на одновременное установление до десяти одновременных соединений для оптимизации отображения страницы с изображениями.Это очень быстро доводит нас до 400 одновременных подключений.Это почти вдвое превышает число рабочих процессов, доступных в Apache (опять же, по умолчанию, с предварительным форком).
Для сервера ресурсы должны быть сбалансированы, чтобы иметь возможность обслуживать наиболее вероятную нагрузку,но клиенты очень помогают в этом, ограничивая соединения.Если бы каждый клиент мог свободно устанавливать более 100 подключений к серверу параллельно, мы бы очень быстро делали множество хостов.:)