НОВОСТИ
Закончено опубликование всех проектов за 2009 и начало 2010 года. Маленький юбилей - общее количество проектов "перешагнуло" 90. Хотя каждый проект уникален в своем решении, качестве и подходе. И рассматривать "массу", не очень верный путь.
архив новостей
02.04.2010
СТАТЬИ - РАЗГОНЯЕМ... ВЕБ-СЕРВЕР! (01.09.2001)

РАЗГОНЯЕМ... ВЕБ-СЕРВЕР!

ЛИТОШЕНКО Олег

От литературного редактора

    Глобальная проблема ускорения доступа к содержимому веб-серверов Всемирной Паутины имеет много "узких" мест. Можно модернизировать IP-протоколы, можно расширять существующие и строить новые магистральные каналы связи, можно придумывать высокоскоростные технологии "последней мили"… А можно делать так, как предлагает шымкентец Олег Литошенко, чей программный веб- акселератор, использующий технологию упаковки страниц методом Gzip (http://www.gzip.org), позволяет ускорять работу пользователей с веб- сервером в несколько раз!

    Представим такую ситуацию: вы заходите на сайт, и вам за считанные секунды передается такой объем информации, который по всем расчетам не должен "сливаться" за такой промежуток времени. "Нереально!" - скажете вы. А вот и реально! Я хочу рассказать о веб- акселерации стандартом GZip Encoding. Что это такое? Это когда, к примеру, html-страница передается вам не в естественном виде, а в упакованном. Принцип работы этого акселератора таков:
  1. Некое программное обеспечение упаковывает информацию прямо на веб- сервере методом LZ77, который используется как основа для таких всем известных упаковщиков, как RAR, zip, Gzip и т.д.;
  2. Сервер (программное обеспечение) передает вам упакованную информацию;
  3. Браузер пользователя, приняв упакованный блок данных, распаковывает его и показывает вам оригинальную информацию.
    Таким образом, в ответ на ваш запрос сервер передает объем информации примерно от 5 до 40% от оригинального.
    Сразу напрашиваются два вопроса:
  1. Какова скорость работы такого метода, или, попросту говоря, целесообразно ли вообще использование данной упаковки?
  2. Какова совместимость с клиентскими программами (браузерами)?
   Ответы таковы:
  1. Скорость работы метода очень велика! Например, HTML-файл размером в 504 килобайта упаковывается всего за 430-540 миллисекунд, т.е. примерно за полсекунды! При этом размер упакованного файла составит примерно 12 Кб, или ~2,4% от реального. Данный пример можно рассмотреть и проверить самому по адресу: www.guestbook.sonet.kz/cgi-bin/hb.cgi?u=default.htm. Теперь о скорости распаковки. Она тоже не медленная вне зависимости от типа браузера. Напомню, что данный метод распаковки "вшит" в ядра таких браузеров, как Microsoft Internet Explorer (начиная с версии 4.0), Netscape Communicator (начиная с версии 4.06), Lynx, некоторые последние версии Opera... Вот и судите сами о целесообразности использования данной упаковки: передача по Сети 500 Кб информации при скорости 28.8 Kбит/с занимает ~140 секунд, после упаковки - ~3 секунды при затрате на упаковку 540 мсек. Итоговая экономия составляет более 2 минут вашего, большей частью, отнюдь не бесплатного времени!
  2. За совместимость должна отвечать программа, которая будет упаковывать информацию на сервере, отталкиваясь от значения среды переменной запроса сервера HTTP_ACCEPT_ENCODING. И поскольку некоторые прокси-серверы по умолчанию не передают (или это не установлено в настройках) всю информацию о клиентской программе, из-за этого бывает невозможно узнать, поддерживает ли клиентская программа метод распаковки или нет...
Вспомогательные методы экономии
Вспомогательные методы экономии
    Кроме акселерации (упаковки), хочу упомянуть такую тему, как лишние пробелы в HTML-файлах, "охотно" вставляемые большинством так называемых WYSIWYG-редакторов. Например, Microsoft FrontPage разделяет пробелами таблицы, дабы повысить удобочитаемость кода. Однако эти пробелы в итоге оборачиваются большим количеством (от 5 до 40%) "мусора", скачиваемого нами при просмотре веб-страниц. Но лишь немногие уважающие себя и посетителя серверы удаляют эти "лишние" пробелы. Хотя при элементарном знании скриптов или создания CGI-, ISAPI-, NSAPI-приложений решение этой проблемы можно с успехом переложить на шлюз удаления пробелов.
Программа акселерации
    Как пример программы, использующей все принципы акселерации Gzip Encoding и удаления лишних пробелов, укажу на HTML Booster (www.guestbook.sonet.kz/cgi-bin/hb.cgi?u=default.htm). Расширенные возможности настройки шлюза позволит вам контролировать как саму упаковку (вплоть до методов упаковки), так и функцию удаления излишних пробелов.

Литературная редакция Александра Е. Ляхова

© Разработка ТОО "LiO Programs" 1999-2010
1-1 1-2
2-1
тел: +7 7252 558115
сот: +7 701 3528510, +7 700 4503956
web: www.lio.kz, www.hlp.kz
email: lio@lio.kz