1f190833

Сжатие трафика HTTP


Андрей Ниденс

Алгоритм gZip поможет сберечь полосу пропускания

Использование в протоколе НТТР 1.1. сжатия с помощью алгоритма gZip позволяет добиться увеличения скорости передачи пользователю сгенерированных страниц. По моим наблюдениям, благодаря этой возможности объем передаваемых по сети данных можно уменьшить в 10 раз, тем самым сокращая время ожидания. Не во всех версиях IIS имеет встроенную поддержку компрессии по алгоритму gZip (), позволяющую сжимать не только статические, но и динамически сформированные страницы.

Вопросы конфигурирования и использования встроенной в IIS компрессии обсуждались на многих форумах, и я пришел к выводу, что настройка данной возможности IIS - занятие не для начинающих. Можно ли произвести сжатие не встроенными средствами IIS? После поиска в Internet я нашел пару компаний, разрабатывающих ISAPI-фильтры, которые позволяют сжимать данные в обход стандартных методов IIS. При дальнейшем изучении продуктов этих компаний оказалось, что они дорого стоят и сложно конфигурируются. Что же делать начинающему Web-мастеру, работающему с IIS? Попробуем выполнить компрессию своими руками.

Конечно, метод, который предлагается ниже, не претендует на звание самого эффективного и вряд ли его стоит применять на сайтах, которые обслуживают в день сотни тысяч клиентов. Однако для небольших компаний, не сильно загруженных сайтов и внутренних приложений в сети компании он годится. Мы использовали его для приложений и проверяли на клиентах, подключенных на скорости 9600 бод. В качестве клиентской программы использовались браузеры IE старше версии 5.0, а также Netscape Navigator 4.72.

Для написания кода нам понадобится только один "внешний" компонент: стандартный gZip, переписанный с сайта (). GZip.exe можно переписать в один из системных каталогов (я записал его в winnt), чтобы его было удобно вызывать. Все остальные объекты, которые мы будем использовать, разработаны компанией Microsoft.

Для начала проведем маленький эксперимент - попробуем создать в корневом каталоге IIS (по умолчанию это c:\inetpub\wwwroot) каталог test, затем войдем в консоль Internet Information Services и создадим для каталога test-приложение (см.

Начало  Назад  Вперед