больше 
мой cms4site


cms4site™ система построения сайтов и управления контентом 3.6.2

 
RU . EN . DE . SK . K8
Начало . Контент . Модули . Администратор . Конвертеры . Центр Управления . Броузер . Статистика . Демо
119
 посмотреть php код движка сайта - 17,820 байт
посмотреть структуру сайта - 13,778 байт
 

ПРОДОЛЖАЕМ ВОЗИТЬ ВОЗДУХ?


"Используя встречный план, а также порожняк..."
Михаил Жванецкий


Сначала так, о жизни...

Идея необходимости архивирования или, иначе, сжатия была усвоена человечеством еще до появления компьютеров. Идея эта естественна сама по себе - надувные лодки и детские пляжные мячи никто не возит и не хранит надутыми - иначе в их цену существенно прибавятся расходы на перевозку и хранение воздуха. Или сравним классический ночной горшок, крайне неудобный в смысле вкладывания одного в другой, и продуманное дизайнерское решение лейки-кувшина для полива цветов, которая помимо эстетических форм, еще и позволяет компактно сложить одну в другую несколько таких леек.

Компьютерное сжатие данных изначально имело одну цель - экономию места на носителях (хранение). С развитием Интернета добавилась и вторая - экономия трафика (количества данных, переданных по сети), т.е., фактически, их перевозки. В связи со спецификой Интернета и развитием технологии производства носителей информации, первая цель перестала быть столь уж критичной. Например, на момент написания этих строк на компьютере автора используется всего 5 гигабайт дисковой памяти из 120 возможных, а винчестеров меньшего объема уже и не делают. Или другой пример: объем данного сайта около 6 мегабайт, а где вы видели хостинг меньше 15? В VIP-пакетах на хостинг уже предлагают гигабайты, ибо не жалко...

С трафиком дело обстоит несколько иначе. В случае с веб-сайтами платят все: владелец сайта - за тот объем данных, который передается посетителям и идет от них, посетители - за то, что они с сайта получили и что туда передали. Хотя возможны и упрощенные варианты, например посетители оплачивают только то, что получили с сайта. Или владелец сайта вообще не платит за трафик (разумеется, не всякого сайта!). Появилась и еще одна особенность, в реальной жизни не существовавшая - чем больше данных, тем дольше они передаются.

Поэтому "сжимать однозначно". Скажем немного о сжатии. Простейший пример - вместо АААААААААААААА напишем 14(А), вместо АБАБАБАБ - 4(АБ). Реальные алгоритмы сжатия, разумеется, гораздо сложнее. Алгоритмов и программ сжатия написано много, но, что интересно, результат у них примерно одинаков, а зависит он, в основном, от самих данных.

Посмотрим теперь на сам процесс посещения пользователем сайта, то есть, конечно, только одной его страницы.
  1. Посетитель набирает в броузере желаемый адрес, или щелкает по ссылке, или вытаскивает адрес из "избранного".
  2. Броузер формирует запрос (100-200 байт) и передает его на сайт, (точнее на сервер, где хранится сайт), сайт эти байты получает.
  3. На хостинговом сервере производятся необходимые действия по формированию html-кода запрошенной страницы (практически объем страницы может варьироваться от 1000 байт до 1 мегабайта), перед ней добавляется ответ сервера (200-300 байт, иногда и более) и все это передается в броузер посетителя.
  4. Броузер не просто начинает художественно показывать полученный html-код, но параллельно находит в нем дополнительные объекты (изображения, стили, программы и т.п.), без которых страница будет незавершенной.
  5. Для каждого дополнительного объекта выдается запрос к серверу (опять 100-200 байт), сервер формирует запрошенное и передает вместе с прицепленным ответом в броузер, совершенно тем же образом, как и html-код.
  6. В составе страницы могут быть выполняемые броузером программы, которые потребуют еще запросов к серверу, но через какое-то время все должно "устаканиться" - страница прочитана, изображения распиханы по местам, программы выполнены.

Во всем этом процессе имеет смысл сжимать только html-код, поскольку файлы изображений форматов gif, jpg, png уже сжаты, а файлы типа doc или xls рекомендуется хранить и передавать в сжатом виде, например в виде архива zip.

Ясно, что сжать html-код должен сервер (п.3) перед отправкой в броузер, а разархивировать его должен броузер при получении (п.4).

Однако выясняется, что "не все так ладно в датском королевстве":
  • Броузеры типа IE, NN давно умеют разархивировать полученный сжатый код, другие броузеры или роботы поисковиков (выполняющие первые три пункта и складирующие полученное) могут этого и не уметь
  • На хостинговом сервере и сайте должны быть приняты специальные меры по обеспечению сжатия
  • Сайт (сервер) и броузер должны сообщить друг другу, умеют ли они сжимать и принимать сжатое соответственно

Последнее как раз и предусмотрено в этих самых дополнительных запросе и ответе. То есть броузер в своем запросе говорит, что, помимо прочего, не откажется принять сжатое, если г-н сервер соблаговолят... Ну, а сервер, соответственно, отвечает, что сжал или признается, что о таком он, к своему стыду, даже и не слыхивал.

В результате, дело остается за малым - обеспечить сжатие на сайте. А вот этому вопросу почему-то никогда не уделялось должного внимания в среде веб-разработчиков. Все занимались красотой и прибамбасами, чтобы все блестело, сверкало и бегало. Теперь вот начали думать, как бы от этого половчее уже таки избавиться...

Ну, а теперь к делу...

Если в первых квадратных скобках вы видите слова gzip или deflate, ваш броузер мог принять и, скорее всего, принял эту страницу нашего сайта в сжатом виде:
[gzip][Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)]

Если в первых квадратных скобках вы видите слово zlib, наш сайт мог сжать, и мы надеемся, что сжал эту страницу:
[zlib][HTTP/1.0][CGI/1.1][Apache]

Ну и окончательный диагноз, было ли сжатие (yes!), то есть договорились, или, как всегда (no...), то есть не срослось:
[yes!][Expires=Wed, 22 Dec 2010 15:29:26 GMT][Last-Modified=Wed, 22 Dec 2010 15:29:27 GMT][Cache-Control=post-check=0, pre-check=0][Pragma=no-cache]

Какие могут быть причины отрицательного результата:
  • наш сайт не мог сжать страницу - вообще-то должен был, могли измениться настройки хостинга; сообщите нам, пожалуйста;
  • ваш броузер не умеет принимать сжатое; может быть у него есть настройки сжатия;
  • между вами и нами затесался прокси-сервер, который теряет сведения о сжатии или должен был бы сжимать/разархивировать, но не умеет ни того, ни другого; если вы можете работать без прокси, попробуйте отключить прокси для нашего сайта в настройках броузера, обратитесь к сисадмину или провайдеру доступа по поводу прокси.

Кое что относительно прокси можно определить тут:
[][][89.108.72.248]
приведен IP-адрес вашего компьютера, сведения о прокси и его IP-адрес или ваш IP-адрес, если прокси нет.

Попробуйте "полечить" IE прямо сейчас: в Сервис/СвойстваОбозревателя/Дополнительно (Tools/InternetOptions/Advanced) в блоке Настройка HTTP 1.1 (HTTP 1.1 settings) включите флажки Использовать HTTP 1.1 и Использовать HTTP 1.1 через прокси-соединения (Use HTTP 1.1 и Use HTTP 1.1 through proxy connections), а затем перечитайте эту страницу.

Примеры

Посмотрев на код этой или любой другой страницы нашего сайта (Вид/В виде HTML), вы увидите в самом конце примерно такие цифры:
0.23:20,464[7,621]37.24% 
  • время генерации страницы
  • объем страницы
  • объем после сжатия
  • процент сжатия

или, если сжатия не было (только чистка левых отступов), такие:
0.23:20,508(20,025)97.64% 

Вот еще несколько примеров:
0.36:35,384[8,228]23.25% 
0.61:116,502[16,331]14.02% 
0.54:166,108[21,508]12.95% 
0.67:172,236[19,754]11.47% 

И в заключение отметим, что сжатие/разархивирование даже 200-килобайтной страницы на современных компьютерах практически незаметно - это десятые доли секунды, а объем данных уменьшается от 3 до 20 раз. Посетите в 10 раз больше правильных сайтов за те же деньги!



Нюансы информационных технологий ||| Много профессий - хороших и разных
 #TOP">
Copyright . Поиск . Карта . Документация . Изменения . FAQ . Лирика . Сайты . Письмо
©1996-2010 cms4site group. All rights reserved
Движок cms4site™
МИНЗДРАВ ПРЕДУПРЕЖДАЕТ: ЧРЕЗМЕРНОЕ УВЛЕЧЕНИЕ ИНТЕРНЕТОМ МОЖЕТ НАНЕСТИ ВРЕД ВАШЕМУ ЗДОРОВЬЮ!
купить скважинный насос grundfos