Архив
Клиентская оптимизация в ASP.NET MVC 3. Менеджеры ресурсов
Первоначально данная статья была опубликована в февральском номере журнала MSDeveloper.RU.
Содержание
- Сжатие JS- и CSS-файлов
- Менеджеры ресурсов
В предыдущей статье мы научились производить минимизацию JS- и CSS-файлов в Visual Studio.
В данной статье мы рассмотрим другие аспекты клиентской оптимизации, связанные с JS- и CSS-файлами и решаемые с помощью менеджеров ресурсов (asset managers). Перечислим рекомендации команды Exceptional Performance, которые можно реализовать с помощью менеджеров ресурсов:
- Выносите JavaScript и CSS во внешние файлы
- Размещайте таблицы стилей в начале страницы
- Размещайте скрипты в конце страницы
- Используйте CDN
- Уберите повторяющиеся скрипты
- Уменьшите количество HTTP-запросов (с помощью объединения JS- и CSS-файлов)
- Добавьте HTTP-заголовок
Expires
илиCache-Control
- Сжимайте содержимое с помощью GZIP
- Настройте
ETag
`и
На основе перечисленных выше рекомендаций сформулируем требования, которым должен соответствовать менеджер ресурсов:
- Регистрировать ресурсы (файлы) в шаблонах (мастер-страницах) и представлениях
- Предотвращать дублирование ресурсов
- Выбирать нужные версии ресурсов в зависимости от режима работы веб-приложения (отладка или релиз)
- Задавать URL ресурса, размещенного на CDN, в качестве альтернативного пути к ресурсу
- Объединять код ресурсов в один файл
- Минимизировать ресурсы «на лету» (в нашем случае необязательное требование)
- HTTP-хэндлер, с помощью которого выводятся обработанные ресурсы, должен добавлять HTTP-заголовок
Expires
илиCache-Control
- HTTP-хэндлер должен сжимать ресурсы с помощью GZIP/Deflate
- HTTP-хэндлер должен поддерживать
ETag
`и
Вышел февральский номер журнала MSDeveloper.RU
Сегодня вышел февральский номер журнала MSDeveloper.RU, в котором опубликовали мою статью «Клиентская оптимизация в ASP.NET MVC 3. Менеджеры ресурсов».
Клиентская оптимизация в ASP.NET MVC 3. Сжатие JS- и CSS-файлов
Первоначально данная статья была опубликована в январском номере журнала MSDeveloper.RU.
Содержание
- Сжатие JS- и CSS-файлов
- Менеджеры ресурсов
В своей предыдущей статье «Облегчаем работу с JS- и CSS-кодом в Visual Studio» я уже говорил о том, что практически в любом современном веб-приложении среднего размера содержатся десятки JavaScript- и CSS-файлов. В прошлый раз я рассказал, как облегчить работу с кодом, который расположен в этих файлах. Рассмотрим эту проблему под другим углом: большой объем кода внутри этих файлов, к которому мы еще добавили регионы, теги reference
и другие документирующие комментарии, приводит к увеличению времени загрузки веб-страниц и увеличивает объем трафика, который проходит от сервера к браузеру пользователя. Если время ожидания загрузки веб-страницы будет слишком долгим, то пользователь сайта начнет себя чувствовать некомфортно и может покинуть сайт. Кроме того, проблемы могут возникнуть и у владельца сайта, если исходящий с сайта трафик превысит заранее оговоренный с хостинговой компанией объем.
В данной серии статей я хочу рассказать о клиентской оптимизации веб-приложений, написанных на ASP.NET MVC 3. Клиентская оптимизация – это комплекс мер по увеличению скорости загрузки клиентской части веб-страницы (HTML, CSS, JavaScript и графика). Понятие клиентская оптимизация известно давно, но впервые о ней серьезно заговорили в конце 2007 года после публикации статьи «13 простых правил для ускорения вашего веб-сайта» («Thirteen Simple Rules for Speeding Up Your Web Site»), написанной командой Exceptional Performance (Исключительная производительность) компании Yahoo!. За прошедшие четыре года 13 простых правил превратились в 35 практических рекомендаций, с которыми можно ознакомиться в статье «Best Practices for Speeding Up Your Web Site».
В данной статье мы рассмотрим и применим на практике только одну рекомендацию команды Exceptional Performance – минимизацию JS- и CSS-кода.
Вышел январский номер журнала MSDeveloper.RU
Сегодня вышел январский номер журнала MSDeveloper.RU, в котором опубликовали мою статью «Клиентская оптимизация в ASP.NET MVC 3. Сжатие JS- и CSS-файлов».
Вышел декабрьский номер журнала MSDeveloper.RU
Сегодня вышел декабрьский номер журнала MSDeveloper.RU, в котором опубликованы 2 моих статьи: «Облегчаем работу с JS- и CSS-кодом в Visual Studio» и «Telerik Extensions для ASP.NET MVC Q3 2011».