Происходит следующее: браузер отправляет HTTP-запросы на сервер для каждого объекта, найденного на странице. Вы можете исключить эти запросы или уменьшить частоту их выполнения, включив кэширование на стороне клиента. Для статических файлов это можно настроить в IIS.
Вы можете распараллеливать запросы на изображения (не файлы JS), назначая их различным доменам; если все они находятся в одном домене, браузер будет запрашивать только два одновременно.
Однако ваш вопрос открывает дверь к большой теме. В попытке дать подробный ответ я закончил тем, что написал книгу на эту тему под названием Ultra-Fast ASP.NET . Я подробно рассмотрю ответ на вопрос из ФП в главе 2.