8.5  HTTP cache

Cache slouží ke zrychlení přístupu na opakovaně navštěvované WWW stránky a snížení zatížení internetového připojení (v případě měřené linky je rovněž významné, že použití cache snižuje celkový objem přenesených dat). Stahované soubory se ukládají na disk počítače s WinRoute a při dalším přístupu nemusejí být znovu stahovány z WWW serveru.

Objekty se do cache ukládají na omezenou dobu (Time To LiveTTL). Tato doba určuje, zda se má na WWW serveru ověřovat novější verze daného objektu. Pokud doba TTL nevypršela, objekt se vezme z cache. V opačném případě se ověří, zda se objekt na příslušném WWW serveru změnil, a pokud ano, stáhne se nová verze. Tento mechanismus zajišťuje průběžnou aktualizaci objektů v cache.

Cache lze použít při přístupu přes proxy server i přímém přístupu. V případě přímého přístupu musí být na komunikaci aplikován inspekční modul HTTP. Ve výchozí konfiguraci WinRoute je tato podmínka splněna pro protokol HTTP na standardním portu 80 (podrobnosti viz kapitoly 7.3  Definice vlastních komunikačních pravidel14.3  Služby).

Parametry HTTP cache se nastavují v sekci Konfigurace → Filtrování obsahu → Pravidla pro HTTP, záložka Cache.

Nastavení parametrů HTTP cache

Obrázek 8.16. Nastavení parametrů HTTP cache


Povolit cache pro transparentní proxy

Zapnutí cache pro HTTP komunikaci obsluhovanou inspekčním modulem HTTP (tj. přímý přístup do Internetu).

Povolit cache pro proxy server

Zapnutí cache pro HTTP komunikaci přes proxy server ve WinRoute (viz kapitola 8.4  Proxy server).

Doba životnosti (TTL)...

Výchozí doba platnosti objektu v cache. Tato doba je použita, jestliže:

  • pro konkrétní objekt není nastavena specifická doba životnosti (nastavuje se v dialogu, který se otevírá tlačítkem Specifická nastavení pro URL — viz dále)

  • není akceptována doba životnosti určená WWW serverem (viz položka Akceptovat dobu životnosti (TTL) dodanou serverem)

Adresář pro cache

Adresář pro ukládání objektů. Ve výchozím nastavení se používá podadresář cache v adresáři, kde je WinRoute nainstalován.

Upozornění

Změna adresáře pro cache se projeví až po příštím startu WinRoute Firewall Engine. Staré soubory cache v původním adresáři budou automaticky odstraněny.

Velikost cache

Velikost souboru cache na disku. Maximální velikost cache je omezena na 2 GB (2047 MB)

Poznámka:

  1. Je-li cache zaplněna z 98%, spustí se automaticky tzv. úklid — smazání všech objektů, jejichž doba životnosti již vypršela. Nepodaří-li se odstranit žádné objekty, nebudou do cache ukládány nové objekty, dokud se místo neuvolní (při některém z dalších úklidů nebo ručním vymazáním).

  2. Uvedená maximální velikost cache platí pro WinRoute od verze 6.2.0. Starší verze umožňovaly nastavení cache až do velikosti 4 GB (tento limit byl snížen z technických důvodů). Je-li při startu WinRoute Firewall Engine detekována cache větší než 2047 MB, pak je její velikost automaticky snížena na tuto hodnotu.

  3. Při nastavení velikosti cache větší než je aktuální volné místo na příslušném disku se cache neinicializuje a do záznamu Error (viz kapitola 22.8  Záznam Error) se zapíše odpovídající chybové hlášení.

Max. velikost HTTP objektu

Maximální velikost objektu, který bude do cache uložen.

Statistiky dokazují, že největší počet požadavků je na objekty malé velikosti (např. HTML stránky, obrázky apod.). Velké objekty, např. archivy, které se zpravidla stahují jednorázově, by v cache zbytečně zabíraly místo.

Volby pro cache

Upřesňující nastavení chování cache.

  • Dokončit stahování objektů při přerušení — po zaškrtnutí této volby se bude automaticky dokončovat stahování objektů, jestliže byl požadavek uživatelem přerušen (tlačítkem Stop ve WWW prohlížeči). Ve velkém počtu případů totiž uživatel přerušuje otevírání stránky z  důvodu příliš pomalého natahování. Rozhodne-li se uživatel navštívit stránku znovu (případně ji navštíví jiný uživatel), bude stránka k dispozici nesrovnatelně rychleji.

  • Ukládat do cache přesměrování (HTTP odpovědi 302 Redirect) — tato volba obecně urychluje přístup na přesměrované WWW stránky.

    Odpovědi 302 Redirect se za normálních okolností do cache neukládají. Návratový kód 302 protokolu HTTP znamená dočasné přesměrování — toto přesměrování může být kdykoliv zrušeno nebo se může měnit cílové URL. Při použití odpovědi z cache může být v některých případech klient přesměrován na již neaktuální nebo neplatné URL.

  • Akceptovat dobu životnosti (TTL) dodanou serverem — tato volba způsobí uložení objektů do cache na dobu doporučenou WWW serverem, ze kterého jsou objekty stahovány. Pokud server tuto dobu neurčí, použije se výchozí doba (viz položka Doba životnosti (TTL) pro protokol HTTP).

    Upozornění

    Některé WWW servery mohou záměrně dodávat příliš krátké nebo příliš dlouhé doby za účelem potlačení cache.

  • Ignorovat direktivu serveru Cache-Control — po zapnutí této volby bude WinRoute ignorovat direktivy pro řízení cache na WWW stránkách.

    Pokud se obsah nějaké stránky velmi často mění, její autor na ni zpravidla umístí direktivu, aby se neukládala do cache. V některých případech je tato direktiva používána nerozumně, např. za účelem vyřazení cache. Volba Ignorovat direktivu serveru Cache-Control způsobí, že WinRoute bude akceptovat pouze direktivy no-store a private.

    Poznámka: WinRoute pracuje pouze s direktivami z hlaviček HTTP odpovědí, nikoliv ze samotných stránek.

  • Vždy kontrolovat platnost souborů v cache — zapnutím této volby bude WinRoute při každém požadavku kontrolovat, zda se na serveru nenachází novější verze objektu uloženého v cache (bez ohledu na to, zda to klient požaduje).

Poznámka: Klient si může kdykoliv vyžádat kontrolu novější verze objektu na WWW serveru (bez ohledu na nastavení cache). Např. v prohlížečích Internet Explorer a Firefox/SeaMonkey lze tuto kontrolu vyvolat stisknutím kombinace kláves Ctrl+F5. Prohlížeče lze také nastavit, aby kontrolovaly novější verze stránek při každém přístupu (pak stačí stránku pouze obnovit).

Specifická nastavení pro URL

Výchozí doba životnosti objektu v cache nemusí být vyhovující pro všechny stránky. V některých případech může vzniknout požadavek neukládat stránku (resp. objekt) do cache vůbec či zkrátit dobu jeho platnosti (např. pro stránky, které se mění několikrát denně).

Tlačítko Specifická nastavení pro URL otevírá dialog, ve kterém lze nastavit dobu platnosti pro konkrétní URL.

HTTP cache — specifická nastavení pro URL

Obrázek 8.17. HTTP cache — specifická nastavení pro URL


Pravidla v tomto dialogu tvoří uspořádaný seznam, který je procházen shora dolů (tlačítky se šipkami na pravé straně okna lze upravit pořadí pravidel).

Popis

Textový popis položky (pro snazší orientaci)

URL

URL, pro které má být nastavena specifická doba životnosti objektů v cache. URL může být zadáno v jednom z těchto tvarů

  • kompletní URL (např. www.kerio.com/cz/index.html)

  • podřetězec s použitím hvězdičkové konvence (např. *idnes.cz*)

  • jméno serveru (např. www.kerio.com) — libovolné URL na tomto serveru (zadaný řetězec se automaticky doplní na tvar: www.kerio.com/*)

TTL

Doba platnosti objektů vyhovujících uvedenému URL.

Volba 0 dní, 0 hodin znamená, že objekty nebudou do cache ukládány.

Sledování stavu a správa cache

WinRoute umožňuje sledovat využití HTTP cache a prohlížet, případně mazat objekty v cache uložené.

V dolní části záložky Cache se zobrazují základní stavové informace: aktuální využitá velikost a efektivita cache. Efektivita vyjadřuje poměr počtu objektů, které byly nalezeny v cache (a nemusely tedy být stahovány ze serveru) k celkovému počtu HTTP požadavků (měřeno od startu WinRoute Firewall Engine). Efektivita cache závisí především na chování uživatelů (zda pravidelně navštěvují určité WWW stránky, zda více uživatelů přistupuje na tytéž stránky atd.), částečně ji lze také ovlivnit výše popsanými konfiguračními parametry. Pokud cache vykazuje trvale nízkou efektivitu (méně než 5 %), doporučujeme přehodnotit konfiguraci cache.

Informace o stavu HTTP cache

Obrázek 8.18. Informace o stavu HTTP cache


Tlačítko Správa obsahu cache... otevírá okno pro prohlížení, vyhledávání a mazání objektů uložených v cache.

Okno pro správu obsahu HTTP cache

Obrázek 8.19. Okno pro správu obsahu HTTP cache


Pro zobrazení objektů v cache je nutné nejprve zadat do položky URL specifikaci hledaného objektu. Objekt může být specifikován buď absolutním URL (bez protokolu) — např. www.kerio.com/image/menu.gif nebo jako podřetězec URL s použitím zástupných znaků * (nahrazení libovolného počtu znaků) a ? (nahrazení právě jednoho znaku).

Příklad

Při zadání výrazu *ker?o* budou zobrazeny všechny objekty, jejichž URL obsahuje řetězce kerio, kerbo apod.

Každý řádek výpisu objektů obsahuje URL objektu, jeho velikost v bytech (B) a zbývající dobu životnosti v hodinách. Z důvodu přehlednosti a rychlosti zobrazování je výpis objektů stránkován po 100 položkách. Tlačítky Předchozí a Další lze přecházet mezi jednotlivými stránkami výpisu.

Tlačítkem Odebrat se označený objekt vymaže z cache.

Tip

Kliknutím a tažením, případně kliknutím s přidržením klávesy Ctrl nebo Shift lze označit více objektů najednou.