|
|
|
|
|
для: 12345
(09.11.2005 в 13:49)
| | ) Нет, вопрос не по распаковке на клиенте, а по упаковке на сервере:
клиент всё прекрасно понимает, но данные к нему приходят как есть (не сжатые)
в начале скрипта написано вот так:
<? session_start();
require_once "gzip/gz.php";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META http-equiv="Content-Type" conte...............
|
gzip/gz.php:
<?php ## Отображение параметров GZip-сжатия.
require_once "lib/config.php";
// Функция только устанавливает значение Cookie page_size_after.
function ob_saveCookieAfter($s) {
setcookie("page_size_after", strlen($s));
return $s;
}
// Аналогично, но для Cookie page_size_after.
function ob_saveCookieBefore($s) {
setcookie("page_size_before", strlen($s));
return $s;
}
// Устанавливаем конвейер обработчиков.
ob_start("ob_saveCookieAfter");
ob_start("ob_gzhandler", 9);
ob_start("ob_saveCookieBefore");
// Дальше можно выводить любой текст - он будет сжат.
?>
|
а внизу Java Script, считывающий куки в которые было записано кол-во бит:
...................................
<!-- Выводим информацию о сжатии (в отдельном шаблоне). -->
<b><br><br><?include "gzip/gz.htm"?></b>
</center>
</body>
</html>
|
gzip/gz.htm:
<!-- Код на JavaScript, отображающий параметры GZip-сжатия. -->
<script language="JavaScript"><!--
// Возвращает Cookie с указанным именем.
function getCookie(name) {
var p = name + "=";
var si = document.cookie.indexOf(p);
if (si == -1) return null;
var ei = document.cookie.indexOf(";", si + p.length);
if (ei == -1) ei = document.cookie.length;
return unescape(document.cookie.substring(si + p.length, ei));
}
var b = getCookie("page_size_before");
var a = getCookie("page_size_after");
if (a && b) {
document.write(
"[GZip: " +
"<span title='стало'>"+a+"</span>/" +
"<span title='было'>"+b+"</span> " +
"<span title='откусили'>("+(100-Math.round(a/b*100))+"%)</span>" +
"]"
)
} else {
document.write("[GZip выключен]");
}
//--></script>
|
В результате получается: стало = было следовательно сжатие 0
вот я и спрашивал, может кто знает в связи с чем это может быть связано? | |
|
|
|
|
|
|
|
для: FreeMAN
(09.11.2005 в 12:58)
| | Вопрос ведь о распаковке на клиенте? Если у него не стоит никакой программы распаковки, то он пользуется только прозрачным сжатием по протоколу v.42bis - MNP-5 (если не напутал); v.90-92 его содержит. Это среднее zip-сжатие, которое ощутимо сжимает текст, это можно видеть при работе с модемом (html передаётся быстрее, чем позволял бы модем без сжатия, но jpg - нет). Но если надо сжать дополнительно, то существуют сжиматели JS-кода, тоже хорошо работают на уровне текста. (Этот текст по MNP-5 ещё сжимается.) Они упоминались здесь в темах. | |
|
|
|
|
|
|
|
для: JC_Piligrim
(15.07.2005 в 12:39)
| | А вот у меня такая ситуация:
есть довольно большой код HTML (страничка вобщем ~200 Kb) и чтоб её на части не разбивать, решил я попробовать сжатие gzip. Почитал книжку (PHP5 в подлиннике - Котеров...), посмотрел листинги к этой книге (заодно и прикрутил их к страничке).
Вроде бы и работет, но не сжимает ((
может надо в настройках апача или пхп переменные какие переопределить???
подскажите плиз, кто что знает
З.Ы.: сайт http://www.els.usurt.ru/process.php. | |
|
|
|
|
|
|
|
для: Bronepoz[)
(15.07.2005 в 11:08)
| | Ребят, зачем мучится? Есть очень неплохой модуль для gzip-сжатия. Зовётся "PHP4 HTTP Compression Speeds up the Web". Я у себя такой ставлю. Вот некоторые ссылки:
http://mike.nov.ru/rus/read/web/GZip-PHP-Apache/
http://www.codenet.ru/webmast/php/Gzip-PHP-Apache.php
http://www.zend.com/codex.php?id=317&single=1 | |
|
|
|
|
|
|
|
для: Bronepoz[)
(15.07.2005 в 11:15)
| | Вы может отправить её на e-mail, например, мой simdyanov@softtime.ru или выложить её прямо тут - мы её отредактируем и выложим. | |
|
|
|
|
|
|
|
для: cheops
(14.07.2005 в 21:58)
| | А как я должен добавить статью? Отправить на мыло или где-то есть кнопка "добавить статью"? | |
|
|
|
|
|
|
|
для: Саня_
(15.07.2005 в 00:46)
| | Я тоже читаю "Хакер". Именно после прочтения статьи я задал вопрос. Php accelerator - это же дополнение к ядру, то есть на хостинге я не могу подключить его. Поэтому я ищу альтернативные варианты. | |
|
|
|
|
автор: Саня_ (15.07.2005 в 00:46) |
|
|
для: Bronepoz[)
(14.07.2005 в 18:59)
| | По поводу ускорения загрузки страниц.
Прочитал я в "Хакере" статью про "phpaccelerator", который реально ускоряет загрузку страниц.
И нет никакой мороки с gzip'ом. Сначала идёт запрос клиенту: "А включен ли у тебя gzip???", если ответ будет утвердительный, phpaccelerator отправит сжатую страницу. Иначе отдаст AS IS.
Одно огорчает - нету билда под винду.
http://www.php-accelerator.co.uk/ | |
|
|
|
|
|
|
|
для: Bronepoz[)
(14.07.2005 в 20:57)
| | Конечно, создание статей приветствуется обеими руками :). Причём вы можете не ограничивать себя только, PHP, принимаются также статьи по JavaScript, CSS и вообще по сетевым технологиям. | |
|
|
|
|
|
|
|
для: Bronepoz[)
(14.07.2005 в 20:57)
| | Думаю, что могу ответить на этот вопрос =) Конечно да =) | |
|
|
|
|