Страница: 1 |
Вопрос: Встроенный Gzip? | Добавлено: 25.01.06 06:04 |
Автор вопроса: ![]() |
Слышал я что IE (а может и не только) имеют встроенный функции для
разархивации сжатых данных Gzip'ом. Причём, вроде, делают это на лету, т.е. страницу отображают разархивированную, нормальну, сразу итп :) Если брехня - не пинайте :) Просто если браузер действительно способен принимать архивированные Gzip данные и на лету обрабатывать их, почему все сайты не перешли на эту технологию? Т.е. не передают мне архивированные данные? Ой! А может я не просвящённый, и оно уже кто знает сколько действительно так и работает? :) А может кто и раскажет как сформировать такой "сжатый пакет" (незнаю как по другому назвать) для браузера, чтобы тот сам распокавал и отобразил в красивом виде... И ещё... Что там насчёт тунельных прокси серверов с gzip архивацией? Неужели достаточно выделенного сервера с неограниченным трафиком для того чтобы предоставлять "сервис сжатия трафика" ? Вообщем у кого какие мысли/знание в этой области - кАлитесь! :))))) |
Ответы | Всего ответов: 10 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() Разработчик Offline Client ICQ: 204034 Вопросов: 106 Ответов: 1919 |
Профиль | Цитата | #1 | Добавлено: 25.01.06 11:04 |
Тебе пример на php надо или как?
|
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() Вечный Юзер! ICQ: uu@jabber.cz Вопросов: 120 Ответов: 3302 |
Профиль | Цитата | #2 | Добавлено: 25.01.06 11:11 |
Крути педали в сторону deflate.
Первая ссылка для затравки: http://httpd.apache.org/docs/2.0/mod/mod_deflate.html |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #3 | Добавлено: 25.01.06 21:39 |
Спасибо UU, читаю, разбераюсь...
Александр, да примерчик бы не помешаел, только не перепутай с простым Gzip архивированием строки или файла, это я и сам умею... Нужно именно составить пакет для бразуреа. Впрочем, как я понял пхп здесь наверно не причём, тут рулит апач заточенный под gzip архивирование данных, а как подробнее должна помочь ссылка которую дал UU. Я правельно ситуацию понял? |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() Разработчик Offline Client ICQ: 204034 Вопросов: 106 Ответов: 1919 |
Профиль | Цитата | #4 | Добавлено: 26.01.06 08:52 |
HACKER, держи:
<? /* ** Title.........: PHP4 HTTP Compression Speeds up the Web ** Version.......: 1.20 ** Author........: catoc <catoc@163.net> ** Filename......: gzdoc.php ** Last changed..: 18/10/2000 ** Requirments...: PHP4 >= 4.0.1 ** PHP was configured with --with-zlib[=DIR] ** Notes.........: Dynamic Content Acceleration compresses ** the data transmission data on the fly ** code by sun jin hu (catoc) <catoc@163.net> ** Most newer browsers since 1998/1999 have ** been equipped to support the HTTP 1.1 ** standard known as "content-encoding." ** Essentially the browser indicates to the ** server that it can accept "content encoding" ** and if the server is capable it will then ** compress the data and transmit it. The ** browser decompresses it and then renders ** the page. ** ** Modified by John Lim (jlim@natsoft.com.my) ** based on ideas by Sandy McArthur, Jr ** Usage........: ** No space before the beginning of the first '<?' tag. ** ------------Start of file---------- ** |<? ** | include('gzdoc.php'); ** |?> ** |<HTML> ** |... the page ... ** |</HTML> ** |<? ** | gzdocout(); ** |?> ** -------------End of file----------- */ ob_start(); ob_implicit_flush(0); function CheckCanGzip(){ global $HTTP_ACCEPT_ENCODING; if (headers_sent() || connection_timeout() || connection_aborted()){ return 0; } if (strpos($HTTP_ACCEPT_ENCODING, 'x-gzip') !== false) return "x-gzip"; if (strpos($HTTP_ACCEPT_ENCODING,'gzip') !== false) return "gzip"; return 0; } /* $level = compression level 0-9, 0=none, 9=max */ function GzDocOut($level=1,$debug=0){ $ENCODING = CheckCanGzip(); if ($ENCODING){ print "\n<!-- Use compress $ENCODING -->\n"; $Contents = ob_get_contents(); ob_end_clean(); if ($debug){ $s = "<p>Not compress length: ".strlen($Contents); $s .= "<br>Compressed length: ".strlen(gzcompress($Contents,$level)); $Contents .= $s; } header("Content-Encoding: $ENCODING" ![]() print "\x1f\x8b\x08\x00\x00\x00\x00\x00"; $Size = strlen($Contents); $Crc = crc32($Contents); $Contents = gzcompress($Contents,$level); $Contents = substr($Contents, 0, strlen($Contents) - 4); print $Contents; print pack('V',$Crc); print pack('V',$Size); exit; }else{ ob_end_flush(); exit; } } ?> |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() Разработчик Offline Client ICQ: 204034 Вопросов: 106 Ответов: 1919 |
Профиль | Цитата | #5 | Добавлено: 26.01.06 08:55 |
А вообще любой исходник в тему не помешает. Я прав? ![]() |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() Разработчик Offline Client ICQ: 204034 Вопросов: 106 Ответов: 1919 |
Профиль | Цитата | #6 | Добавлено: 26.01.06 10:02 |
Впрочем, как я понял пхп здесь наверно
не причём, тут рулит апач заточенный под gzip архивирование данных Не совсем.. На многих сайтах аднимы не включают gzip, а бывает и включают. Апач тут не причем - он только отправляет данные, обработанные скриптом. А ты посмотри тот исходник выше. ![]() |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #7 | Добавлено: 27.01.06 17:45 |
Александр, бАльшое спасибо!
|
Номер ответа: 8 Автор ответа: ![]() ![]() Вопросов: 45 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 13.02.06 19:39 |
2HACKER:
Скорее всего не все так просто, а так бы действительно все бы уже перешли |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 13.02.06 20:06 |
Конечно, не все так просто, хостеры экономят машины и набивают на них сайтов столько, что загрузка проца все время под 80-100%, сервера gzip просто не потянут.
Неужели достаточно выделенного сервера с неограниченным трафиком для
того чтобы предоставлять "сервис сжатия трафика" ? http://all4web.ru/ - творение Павла ![]() |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #10 | Добавлено: 13.02.06 20:16 |
Видел кстати, но своё создать интереснее ![]() |
Страница: 1 |
|