к&"Ж
1и*111мшимш
!д||ивша1шм
«•".»Ч ' •■• -«а»«-
В
номере
7-8’2011
журнала
“Компью-
тер” в конце статьи “Мастер-класс по
РНР” я обратился к читателям с просьбой
откликнуться
и
поддержать
данный
цикл
статей,
поскольку было намерение завер-
шать его, ведь данный сериал статей выхо-
дит уже очень давно, с 2009 года, и мог по-
рядком
наскучить нашим
читателям.
Но
в
ответ стали приходить отклики читателей:
Тема: Продолжение РНР
Куда: редакция
Сообщение:
Отличные
статьи,
продол-
жайте дальше публиковать. Это один из са-
мых интересных разделов.
Юрий
Тема: Мнение о разделе
по
РНР”
Куда: редакция
Сообщение: Ваш раздел “Мастер-класс по РНР"
очень полезен лично для меня и я уверен для дру-
гих читателей тоже.
Андрей
Ну что же, раз надо - значит надо! Продолжаем ;)
Как много уже было рассказано в данном цикле
статей о языке программирования РНР, но мы ещё
не
касались темы
сжатия
веб-страниц
и
файлов.
Сегодня хочу ввести вас в курс дела и на простых
примерах показать, как это работает.
Сжатие веб-страниц
О
бычная
работа веб-сервера Apache
в упро-
щенном виде сводится к выполнению скрип-
та и выдаче в браузер посетителя НТМ L-кода веб-
страницы, сформированной этим скриптом.
Веб-страницы бывают разные. Одни представля-
ют собой компактный HTML-код каталогизирован-
ных данных, например, а другие содержат краткие
или длинные статьи на какую-то тему.
Те или иные можно передавать браузеру не только
в исходном виде, но и в сжатом при помощи алгорит-
мов сжатия. При этом оба участника веб-серфинга -
сервер и посетитель сайта получают выгоды:
1
) сжатая веб-страница имеет размер в байтах
меньший, чем не сжатая и передается в веб-брау-
зер по каналу связи быстрее;
2
) трафик сервера разгружается;
3) пользователь тратит меньше трафика,
и при
лимитированном тарифе меньше платит за скачан-
ный контент;
При этом нагрузка на веб-сервер повышается не-
значительно,
поскольку
HTML-код
веб-страницы
представляет
собой
текстовые данные,
а
как
мы
знаем, текст очень быстро и эффективно сжимает-
ся современными алгоритмами сжатия.
Для сжатия веб-страниц будем применять функ-
цию
ob_start
(www.php.su/functions/7ob-start),
которая может принимать или не принимать един-
ственный
параметр
(функцию
обратного
вызова
или,
как
ее
еще
называют,
callback-функцию)
и
включает буферизацию вывода. Если буферизация
вывода включена этой функцией, то никакой вывод
скрипта
в
браузер
не
высылается
(кроме
ша-
пок/headers), при этом вывод сохраняется во внут-
реннем буфере сервера.
В
качестве
callback-функции
укажем
ob_gzhan-
dler
-
это
callback-функция
(www.php.su/func-
tions/?ob-gzhandler)
для
буфера
вывода
gzip.
Функция
ob_gzhandler обеспечивает отправку gz-
кодированных
данных
браузерам,
поддерживаю-
щим сжатие web-страниц.
Предварительно ob_gzhandler определяет, какой
тип кодирования содержимого поддерживает (по-
нимает)
браузер
(“gzip”,
“deflate”
или
никакой),
и
возвратит его
содержимое
соответствующим
об-
предыдущая страница 28 Компьютер 2011 11-12 читать онлайн следующая страница 30 Компьютер 2011 11-12 читать онлайн Домой Выключить/включить текст