См. If-Match
и If-Modified-Since
более здесь .
IIS будет предоставлять теги и последние измененные заголовки для любого статического содержимого, которое он возвращает, что означает, что статические ресурсы, такие как файлы js, будут автоматически кэшироваться браузером по умолчанию. Браузер будет пытаться получить все эти файлы при каждой загрузке страницы, но IIS перезапустит 304, и браузер будет использовать кэшированную версию. Да, некоторое время обработки связано с выполнением всех этих запросов, но вряд ли это окажет существенное влияние на время загрузки вашей страницы.
Кроме того, это никак не поможет вам при загрузке первой страницы, когда вам придется загружать эти файлы, несмотря ни на что.
Сравните ваше первое время загрузки со вторым и третьим. Вы можете легко проверить это в Firebug. Если они не сильно отличаются, то проблема, скорее всего, не в размере загружаемых js-файлов, а в сложности выполняемого js-кода (при условии, что HTML загружается достаточно быстро).
Сокращение глобальных инициализаторов (т. Е. Кода, который используется только на 1 странице, но выполняется для всех страниц сайта). Переместите код из встроенных тегов скрипта в событие загрузки окна. Если все сделано правильно, это может помочь немного успокоиться.