Меньше HTTP-запросов. Разгоняем ASP.NET: 100 баллов и оценка "A" в YSlow. Практическое приложение. Оптимизация структуры веб-страниц
Используем CDN (Content Delivery Networks)
Добавляем заголовок Expires
Располагаем CSS-файлы в начале страницы
Располагаем JavaScript-файлы в конце страницы
Уменьшаем число DNS-запросов
Уменьшаем JavaScript
Удаляем дублирующиеся скрипты
Настройте ETag
Во-первых, нужно объединить в один файлы таблицы стилей и файлы скриптов. Это стоит сделать только для рабочего (не тестового) выпуска сайта при помощи MS Build:
<ItemGroup>
<TextFiles Include="*.css" Exclude="global.css"/>
</ItemGroup>
<Exec Command="echo y| type %(TextFiles.Identity) >> global.css"/>
Таким образом мы можем объединить все CSS- и JS-файлы.
Некоторые разработчики зададут резонный вопрос: а что по поводу WebResource.axd? В новом AJAX Control Toolkit есть ToolkitScriptManager, который позволяет объединить большинство ваших файлов WebResource.axd. Также он может применять к ним gzip-сжатие (это будет важно для следующих разделов).
Затем нам нужно создать CSS Sprites. Более подробно они уже были описаны в четвертой главе. Идея заключается в том, чтобы группировать такие изображения по оси повторения. Например, все изображения, повторяющиеся по вертикали, сложить в vbackground.png, а все повторяющиеся по горизонтали — в hbackground.png. Затем можно использовать background-position: -OffsetPixels 0 для позиционирования внутри вертикального файла и background-position: 0 -OffsetPixels — для горизонтального.