Weblog Letem světem Komprese webových stránek :: Weblog Letem světem

Archiv weblogu Letem světem z let 2002-2003


Komprese webových stránek

Mark Pilgrim píše o možnosti online komprimace přenášených dat mezi webovým serverem a browserem. Jak jsem tak koukal na stránky Web Compression, je to asi jedna z oblastí, ve které mi opravdu ujel vlak. Z textů jsem neporozumněl, zda komprese probíhá na úrovní HTTP automaticky nebo je nutné někde něco konfigurovat. Jedinému z toho všeho rozumím - musí to výrazně urychlovat načítání stránek. Můžou mi věci znalí čtenáři tuto problematiku lidsky osvětlit v komentářích pod článkem? Budu vděčný nejen já, ale i ostatní návštěvníci stránek.

9.7.2003 | 20:15 | přidal Lukin

Vaše názory

lukas :) Napište autorovi komentáře Navštivte stránky autora komentáře

přidáno 9.7.2003 v 20:38

Komprese se vetsinou resi na urovni serveru (treba Apache) nebo je mozne to resit na na urovni jazyka, kterym se stranka generuje (treba PHP). Vetsinou to ale neni nutne resit vubec, protoze pokud nekdo ma pomale pripojeni (treba modem), tak je to vyresene na nejaky nizsi vrstve (je to treba soucasti prenosovych protokolu modemu). Pokud nekdo ma rychle pripojeni tak je to u web stranek docela fuk. V pripade velsich objemu dat je komprese obvykle soucasti souboroveho formatu (jpeg, gif, mpeg) a zadna dalsi nema efekt. Kdysi jsem to resil, ale zjistil jsem, ze to za to nestoji :) http://www.remotecommunications.com/apache/mod_gzip/ http://leknor.com/code/gziped.php

Jirka Napište autorovi komentáře Navštivte stránky autora komentáře

přidáno 9.7.2003 v 21:31

"Jedinému z toho všeho rozumím - musí to výrazně urychlovat načítání stránek." Ne, primární problém v případě weblogu Marka Pilgrima (diveintomark.org) je velký objem přenášených dat, za který musí platit - a jsou to řádově jiné počty návštěvníků než u českých weblogů, viz například žebříčky blogosphere.us, blogstreet.com, popdex.com, technorati.com nebo blogshares.com.

Jirka Napište autorovi komentáře Navštivte stránky autora komentáře

přidáno 9.7.2003 v 22:38

"Z textů jsem neporozumněl, zda komprese probíhá na úrovní HTTP automaticky nebo je nutné někde něco konfigurovat."

O kompresi musí prohlížeč nebo jakýkoliv jiný HTTP klient požádat pomocí HTTP hlavičky typu "Accept-Encoding: gzip, deflate, compress;q=0.9". Na základě toho může web server poslat komprimovaná data, což indikuje hlavičkou "Content-encoding: gzip". Už bylo řečeno, že může jít o kompresi na úrovni web serveru nebo jazyka. Pro Apache/PHP jsou relevantní články Compressing Web Content with mod_gzip and mod_deflate a Output buffering.

Vilém Málek Napište autorovi komentáře Navštivte stránky autora komentáře

přidáno 10.7.2003 v 6:02

Komprese textových souborů (XHTML) touto metodou se každopádně vyplatí:

1. Snižuje podstatně přenášený objem dat (třeba titulní stránka Interval.cz se dá komprimovat z 55 kB na 12 kB - ve výsledku úspora třeba až 10GB denně!!!), což prospěje peněžence poskytovatele obsahu i jeho příjemce.

2. Zrychluje načítání na všech typech linek - přenáší se méně dat, tedy méně paketů, tedy méně komunikace... Bonusem navíc je vyšší spolehlivost přenosu.

Nevýhodou je nárůst zátěže serveru (nárůst zátěže klienta je minimální). Pokud je však již při projektování systému pamatováno na tento problém, lze vše vyřešit pomocí cachovacích systémů, nebo systémů nativně podporujících interaktivní dimenzování výstupu.

Jirka Napište autorovi komentáře Navštivte stránky autora komentáře

přidáno 10.7.2003 v 10:30

Re: Vilém Málek ("třeba titulní stránka Interval.cz se dá komprimovat z 55 kB na 12 kB")

Tak proč interval.cz tu titulní stránku nevrací komprimovanou? :-)

Vilém Málek Napište autorovi komentáře Navštivte stránky autora komentáře

přidáno 10.7.2003 v 10:41

2 Jirka: Protože to celé běží v prastarém ASP ;-)

VIta Napište autorovi komentáře Navštivte stránky autora komentáře

přidáno 12.7.2003 v 17:25

No chtelo by to dodat jednu malickost. Internet explorer v nekterych svych verzich zada o GZIPovane verze stranek - ktere nasledne neumi zpracovat protoze GZIP zrejme poradne nezna ci co - a nasledne spadne. To jen tak na okraj pro ty co to hodlaji zkouset ve velkem - aby se pak nedivili za nadavky ve svych mailech.

Vilém Málek Napište autorovi komentáře Navštivte stránky autora komentáře

přidáno 13.7.2003 v 15:48

2 Vita: MSIE nemá problémy pouze se zazipovanými stránkami, ale i s řadou jiných typů souborů. Náprava spočívá v odlišném generování hlavičky podle typu klienta. MSIE upravenou hlavičku zpracuje správně a ostatním klientům, které mají sklon se za MSIE vydávat, vadná hlavička nevadí ;-]

Pavel Francírek Napište autorovi komentáře Navštivte stránky autora komentáře

přidáno 12.9.2003 v 16:23

Ad Interval: A proč by ASP (resp. IIS) měl bý problém? Tuším, že nějaké ISAPI filtry, které to uměly byly už době, kdy jsem na IIS ještě dělal (tj. tak tři roky zpět u IIS 4?). Mám dokonce pocit, že se objevilo dřív než řešení pro Apache.

Weblog byl vytvářen publikačním systémem b2. Veškeré texty z archivu mohou jsou volně použitelné.