Princip funkce proxy cache

Provoz na Internetu v současné době sestává v značné míře z HTTP, nosného protokolu World Wide Webu. Velice často se stává, že po stejných (kapacitně limitovaných a placených) datových linkách putují stejná data (stejné webové stránky, grafika atd.) mnohokrát k různým žadatelům o ně. Tento efekt lze částečně eliminovat zavedením právě proxy cache. Jde o počítač nebo program, na který se WWW prohlížeče obracejí stejným způsobem, jako se obracejí na WWW servery (pro uživatele je celý proces transparentní).

V iniciálním stavu funguje proxy jako pouhý prostředník mezi prohlížečem a Internetem. Přicházející požadavky o data proxy vyřídí tak, že si data vyžádá přímo z originálního zdroje v Internetu, ovšem po příjetí je nejen přepošle zpět žádajícímu WWW prohlížeči, ale uloží si je také ve vlastní paměti. Všechny konsekventní požadavky o data, která má proxy takto zapamatovaná, jsou pak proxy serverem vyřízeny vrácením dat z vlastní paměti, tj. rychle a bez zbytečného zatěžování vnějšího Internetu. Používáním proxy na FI, kde v místní síti pracuje veliké množství uživatelů (kteří pravděpodobně už vámi žádané stránky na proxy server "uložili"), Internetu obzvlášť ulevíte.

Z principu věci vyplývá, že proxy může vypomoci pouze v případě požadavků na statická data. Toto omezení eliminuje převážně webové stránky (ne obrázky a jiné objekty z nich odkazované), neboť tyto bývají často dynamicé (např. CGI skripty). Vašemu prohlížeči lze navíc říci, aby pro stránky z určitých domén (typicky z lokální domény) chodil přímo a ne přes proxy cache. Je totiž zbytečné, aby se v cache ukládalo i to, co je stejně dostupné v lokální síti.

Primární proxy cache na FI

Používat proxy umí snad každý větší software, který komunikuje s Internetem pomocí HTTP. Každému takovému programu je třeba dát vědět, jak se místní proxy jmenuje a na jaký port, místo klasického 80, má svoje požadavky proxy zasílat. Pro značnou různorodost v tom, jak se tyto detaily v programech konfigurují, nepodáváme návod pro adekvátní nastavení. Půjde však nejspíše o velmi jednoduchý proces.

Místní HTTP proxy běží na linuxovém stroji cache.fi.muni.cz a je dostupná na TCP portu 3128, a to pouze ze sítě MU. Cache realizuje program Squid, což je patrně nejrozšířenější zástupce HTTP proxy daemonů.

Dodatečné výhody použití proxy cache, sekundární proxy na FI

Dnes již méně relevantní výhodou použití proxy je, že pokud začnete stahovat přes HTTP nějaký objekt a kvůli dlouhé odezvě vzdáleného serveru přenos na svém počítači před dokončením přerušíte, proxy cache přesto data dostahuje a požádáte-li o ně po chvíli znovu, dostanete je už přímo od cache rychlostí LAN.

Naproti tomu o nic méně než dříve aktuálním problémem je internetová reklama ve formě animovaných obrázků, které se vyskytují na webových stránkách. Možná také nevíte, jak dalece lze z Internetu získat informace o vás a o tom, které stránky navštěvujete. Vlastníci reklamních obrázků na nejrůznějších WWW prohledávacích strojích mohou dokonce přesně vědět, jaké dotazy pokládáte.

Inteligentnější proxy může figurovat nejen jako pouhá cache, ale může ze stránek nežádoucí obsah, jako jsou např. reklamní proužky, vypouštět. Navíc se může tvářit při stahování dat z Internetu jako původní žadatel, takže se Internet nedozví, že je to váš počítač, skrytý za proxy, který data vyžádal.

Na FI běží tato "chytrá" proxy cache v podobě programu Privoxy na serveru cache.fi.muni.cz, port 8000. Je-li stahovaným objektem obrázek z reklamního serveru, vrátí proxy server prohlížeči prázdný obrázek velikosti 1x1. Server rozpoznává reklamní proužky od regulerních obrázků jednak podle původu obrázku (dle interního seznamu reklamních serverů) a jednak podle velikosti (standardních bannerové rozměry). Ne všechny reklamy se povedou úspěšně odstranit. Pokud budete mít pocit, že některé URL by mělo být filtrováno, napiště nám na unix (at) fi.muni.cz.