Asp.net mvc framework
Шрифт:
3. Клиентский браузер, получив данные с заголовком Content-Encoding: gzip, понимает, что данные сжаты и, используя свои встроенные механизмы, распаковывает их, чтобы отобразить результат запроса пользователю.
4. При разработке приложения и работе с механизмом сжатия на сервере IIS следует учитывать, что не все браузеры или другие клиентские приложения, которые отправляют запросы, могут поддерживать сжатие данных. Существует целый ряд клиентов, например, многие мобильные браузеры, которые не поддерживают сжатие передаваемых данных.
Часто даже использование сжатия данных посредством сервера IIS не приносит требуемого результата по снижению объема передаваемых данных. Кроме того, сжатие не работает и не дает никакого эффекта с клиентами, которые его не поддерживают. В таких случаях требуется обратить внимание на сами передаваемые данные, в особенности данные из статических файлов: JavaScript-скриптов, CSS-стилей, файлов изображений и др.
Уменьшение JavaScript
Для уменьшения размера JavaScript-файлов существует целый ряд инструментов. Работа этих инструментов основана на том факте, что чаще всего JavaScript-файлы передаются в том же самом виде, в котором созданы разработчиком. То есть содержат массу символов разделителей, табуляции, переводов строк и комментариев, которые помогают разработчику лучше понимать код, но совершенно не нужны, когда речь идет о передаче от клиента к серверу.
Одним из таких инструментов по уменьшению размера JavaScript-файлов является Microsoft Ajax Minifier.
Примечание
Инструмент Microsoft Ajax Minifier бесплатен и может быть свободно скачен по адресу:
http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34488.
*************************
Microsoft Ajax Minifier поставляется в виде утилиты командной строки вместе с документацией и отдельной сборкой, которая позволяет использовать функционал Microsoft Ajax Minifier в ваших собственных приложениях.
Использовать Microsoft Ajax Minifier просто. Например, следующая команда сожмет содержимое файла inputfilejs:
ajaxmin inputfile.js
Для вывода результата сжатия в другой файл потребуется добавить параметр -o:
ajaxmin inputfile.js -o outputfile.js
Кроме того, Microsoft Ajax Minifier имеет еще целый ряд параметров для тонкой настройки механизма сжатия JavaScript и представления результата. Ознакомиться со всеми доступными параметрами можно, запустив без параметров приложение ajaxmin из командной строки.
Минимизация и сжатие JavaScript-файлов может значительно сократить размер передаваемых от сервера к клиенту данных. Так, например,
Уменьшение CSS
JavaScript-файлы, как и файлы со стилями CSS, могут быть сжаты для уменьшения размера передаваемых данных. Для решения задачи минимизации CSS-файлов существует ряд инструментов, самый популярный из которых CSSTidy.
Примечание
CSSTidy можно скачать по адресу http://csstidy.sourceforge.net/.
***********************
Использование CSSTidy по заверениям и тестам авторов может дать в среднем 33 % сжатия файлов со стилями. Для управления работой инструмента у него присутствует ряд параметров. Для минимизации файла достаточно указать его имя как параметр:
csstidy mycssfile.css
Для записи результата в другой файл необходимо указать имя выходного файла в виде второго параметра:
csstidy mycssfile.css myoutputfile.css
Остальные параметры можно получить, запустив csstidy без параметров.
Уменьшение изображений
Поскольку изображения — это важная часть почти каждого веб-сайта в Интернете, уменьшение размера изображений может принести значительный прирост производительности при передаче данных от сервера к клиенту.
Для оптимизации разных типов изображений можно воспользоваться разнообразными инструментами:
? для уменьшения файлов изображений типа PNG без потери качества можно использовать популярный инструмент pngcrush (адрес проекта в Интернете;
? для уменьшения и оптимизации файлов формата JPEG используется другой инструмент — jpegtran (скачать можно по адресу, который позволяет, используя свойства JPEG, достигать более высокого уровня сжатия изображения;
? для оптимизации GIF-изображений можно первоначально перевести их в PNG-формат с помощью инструмента gif2png (скачать можно по адресу. В случае, когда GIF-файлы анимированы, их можно оптимизировать с помощью инструмента GIFsicle (скачать можно по адресу.
Кроме программных инструментов по оптимизации изображений на компьютере есть ряд онлайн-ресурсов, которые позволяют сделать это так же эффективно. Одним из таких ресурсов является Smush.It от компании Yahoo!, который расположен по адресу http://developer.yahoo.com/yslow/smushit/.
Другие способы клиентской оптимизации
Кроме описанных ранее способов основной оптимизации есть еще несколько возможностей по увеличению отзывчивости и скорости работы вашего сайта.