Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как изпользовать gzip на веб сервере 
V
    Опции темы
mr.fox
Дата 25.12.2005, 02:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 13.3.2005
Где: Ирландия

Репутация: 1
Всего: 2



а вот форумы используют gzip, как они используют??
PM MAIL WWW ICQ   Вверх
fara
Дата 26.12.2005, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 15.3.2004
Где: С.-Петербург

Репутация: нет
Всего: 2



mr.fox
да используют.
я точно знаю что phpBB использует.
--------------------
Крыша хлопает в ладоши -Спасибо всем за план хороший!
PM MAIL ICQ   Вверх
mr.fox
Дата 26.12.2005, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 13.3.2005
Где: Ирландия

Репутация: 1
Всего: 2



Цитата(fara @ 26.12.2005, 14:09)
да используют.

я и сам знаю что используеться...
я вот только спрашиваю, как это реализованно
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 26.12.2005, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Вот пример из ИБФ.
Код

        if ($ibforums->vars['disable_gzip'] != 1 )
        {
                $buffer = ob_get_contents();
                ob_end_clean();
                @ob_start('ob_gzhandler');
                print $buffer;
        }

ИМХО, самый рациональный скриптовый вариант.
PM ICQ   Вверх
wsr
Дата 6.1.2006, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Fuzzy Logic
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 3.7.2005

Репутация: 1
Всего: 2



Я лично использую слдующий вариант!
Код

            Header ( "Content-Encoding: gzip" );
            print gzencode ( $content, 9 );


9 - степень сжатия! 0-без сжатия!
Еще желательно узнать поддерживает ли браузер пользователя сжатие!
Код

(@strstr($_SERVER["HTTP_ACCEPT_ENCODING"], "gzip") !== false) and (extension_loaded("zlib")) )

Удачи!
--------------------
 ICQ : 918-318Сайт : Lock-Team 
PM MAIL WWW ICQ   Вверх
Guest
Дата 15.1.2006, 15:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Не работает у меня твой варант, а вот этот пашет:

Код

if ($_SERVER['SERVER_PROTOCOL'] == "HTTP/1.1") {
    echo "GZIP <font color=\"green\">ON</font>";
} else {
    echo "GZIP <font color=\"red\">OFF</font>";
}

  Вверх
wsr
Дата 15.1.2006, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Fuzzy Logic
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 3.7.2005

Репутация: 1
Всего: 2



Цитата(Guest @ 15.1.2006, 15:23)
Не работает у меня твой варант, а вот этот пашет:

Код

if ($_SERVER['SERVER_PROTOCOL'] == "HTTP/1.1") {
    echo "GZIP <font color=\"green\">ON</font>";
} else {
    echo "GZIP <font color=\"red\">OFF</font>";
}

А по моему тут тупость написана! нам же нужно реально узнать поддерживает ли браузер пользователя сжатие или нет!
--------------------
 ICQ : 918-318Сайт : Lock-Team 
PM MAIL WWW ICQ   Вверх
CTAPbIuMABP
Дата 20.2.2006, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 17.2.2006
Где: Киев

Репутация: нет
Всего: 1



Код

Header ( "Content-Encoding: gzip" );
print gzencode ( $content, 9 );


ИМХО не рационально, при соотношении "цена vs качество" наилучшей будет степерь сжатия 7
PM WWW ICQ Skype   Вверх
wsr
Дата 20.2.2006, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Fuzzy Logic
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 3.7.2005

Репутация: 1
Всего: 2



Цитата(CTAPbIuMABP @ 20.2.2006, 17:00)
Код

Header ( "Content-Encoding: gzip" );
print gzencode ( $content, 9 );


ИМХО не рационально, при соотношении "цена vs качество" наилучшей будет степерь сжатия 7

Прочитай мой пост повнимательнее! Я не рекомендовал использовать такую степень сжатия. Я всего лишь привел пример.
И вообще, по проводимым мной тестам наилучший вариант как раз по соотношению "степень сжатия VS время" является 3-4 степень сжатия!
--------------------
 ICQ : 918-318Сайт : Lock-Team 
PM MAIL WWW ICQ   Вверх
CTAPbIuMABP
Дата 21.2.2006, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 17.2.2006
Где: Киев

Репутация: нет
Всего: 1



Цитата

И вообще, по проводимым мной тестам наилучший вариант как раз по соотношению "степень сжатия VS время" является 3-4 степень сжатия!


Может это от сервера зависит?!...
PM WWW ICQ Skype   Вверх
mr.fox
Дата 24.2.2006, 04:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 13.3.2005
Где: Ирландия

Репутация: 1
Всего: 2



CTAPbIuMABP, ты нам глаза на жизнь открыл smile
PM MAIL WWW ICQ   Вверх
OverClocker
Дата 30.1.2007, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



Перепробовал все ваши варианты, но ничего не получилось. Либо возникает gzip-текст (если без заголовка "Content Encoding: gzip"), либо пустой экран. Я понимаю все функции, выполняющиеся при данной операции, но не понимаю, почему не работает:
содержимое начала файла:
Код

header("Content-Encoding: gzip"); // устанавливаем заголовок
extract($_POST);
extract($_GET);
ob_start(); // начинаем старт накопления буфера

... <какой-то текст>



Теперь конец файла:


Код

$buffer = ob_get_contents(); // выводим всё содержимое буфера в буферную переменную
ob_end_clean(); // очищаем буфер
ob_end_flush(); // очищаем буфер и выплёвываем его содержимое в stdout (вроде в данном случае не нужно)
ob_start(); // стартуем буфер заново (это вроде бы тоже не надо)
print gzencode($buffer, 4); // компрессируем буфер в gzip и выводим его на экран
ob_end_flush(); // очищаем буфер (вроде бы тоже не нужно)

Выдаётся белый экран при выполнении данного кода. Если же не ставить заголовок, то выведется компресированные данные на экран. Броузер поддерживает gzip, т.к. я вижу, что он ставит заголовок "Accept-Encoding: gzip,deflate". В чём ещё может быть проблема? smile
PM MAIL WWW   Вверх
-=Ustas=-
Дата 31.1.2007, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: нет
Всего: 69





--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
OverClocker
Дата 31.1.2007, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



Что такое ob_implicit_flush(0)? Навернео проблема была в этом

За ссылку спасибо! smile
PM MAIL WWW   Вверх
OverClocker
Дата 31.1.2007, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



Не работает ни один вариант... smile
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Extensions | Следующая тема »


 




[ Время генерации скрипта: 0.0678 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.