Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Встроенный Gzip? Добавлено: 25.01.06 06:04  

Автор вопроса:  HACKER
Слышал я что IE (а может и не только) имеют встроенный функции для
разархивации сжатых данных Gzip'ом. Причём, вроде, делают это на лету,
т.е. страницу отображают разархивированную, нормальну, сразу итп :)
Если брехня - не пинайте :) Просто если браузер действительно способен
принимать архивированные Gzip данные и на лету обрабатывать их, почему
все сайты не перешли на эту технологию? Т.е. не передают мне
архивированные данные? Ой! А может я не просвящённый, и оно уже кто
знает сколько действительно так и работает? :) А может кто и раскажет
как сформировать такой "сжатый пакет" (незнаю как по другому назвать)
для браузера, чтобы тот сам распокавал и отобразил в красивом виде...
И ещё... Что там насчёт тунельных прокси серверов с gzip архивацией?
Неужели достаточно выделенного сервера с неограниченным трафиком для
того чтобы предоставлять "сервис сжатия трафика" ? Вообщем у кого
какие мысли/знание в этой области - кАлитесь! :)))))

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #1 Добавлено: 25.01.06 11:04
Тебе пример на php надо или как?

Ответить

Номер ответа: 2
Автор ответа:
 User Unknown



Вечный Юзер!

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
Автор ответа:
 HACKER


 

Разработчик 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
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #7 Добавлено: 27.01.06 17:45
Александр, бАльшое спасибо!

Ответить

Номер ответа: 8
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #8
Добавлено: 13.02.06 19:39
2HACKER:
        Скорее всего не все так просто, а так бы действительно все бы
        уже перешли

Ответить

Номер ответа: 9
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #9
Добавлено: 13.02.06 20:06
Конечно, не все так просто, хостеры экономят машины и набивают на них сайтов столько, что загрузка проца все время под 80-100%, сервера gzip просто не потянут.
Неужели достаточно выделенного сервера с неограниченным трафиком для
того чтобы предоставлять "сервис сжатия трафика" ?

http://all4web.ru/ - творение Павла :)

Ответить

Номер ответа: 10
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #10 Добавлено: 13.02.06 20:16
Видел кстати, но своё создать интереснее :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам