Citácia:
Ovládání cache prohlížeče
Prohlížeče ukládají do cache navštívené stránky, aby je již při příští návštěvě nemusely nahrávat ze serveru. Vy můžete toto chování ovládat pomocí tří HTTP hlaviček, které se dají suplovat pomocí elementu meta. Nyní si je představíme:
Syntaxe: <meta http-equiv="expires" content="datum a čas" />
Tento zápis udává, do kdy je daná stránka platná (tedy do kdy ji může mít prohlížeč uloženou v cache) – po tomto datu musí prohlížeč zažádat o její novou verzi. Čas se zde udává ve formátu Jméno-dne(3 znaky), Číslo-dne Jméno-měsíce(3 znaky) Rok Hodiny:Minuty:Sekundy GMT, přičemž se jedná o Greenwichský čas (Greenwich Mean Time, tedy GMT) – např. Thu, 30 Dec 2002 15:17:45 GMT.
Poměrně často se používá jako jako čas hodnota 0 v domění, že zajistí neukládání stránky do cache – tato hodnota je ale nestandardní, a proto byste se jí měli vyvarovat.
Syntaxe: <meta http-equiv="cache-control" content="hodnota" />
Pomocí tohoto zápisu lze ovládat cache přímo. Jako hodnotu můžeme uvést např. no-cache (stránka se nesmí ukládat), public (stránka se smí ukládat – toto chování je u běžných stránek automatické, již tomu ale tak není u stránek vyžadujících HTTP autentifikaci – v takovém případě se může hodit tato hlavička) nebo max-age=sekundy (specifikuje dobu od požadavku, po jakou je stránka aktuální – po uplynutí této doby musí prohlížeč zažádat o novou verzi stránky). Za tato slova můžete navíc přidat čárku a text must-revalidate, která říká prohlížeči, že musí poslouchat vaše pravidla ohledně cache (jinak je mu ponechána jistá volnost). Příklad:
<meta http-equiv="cache-control" content="max-age=86400, must-revalidate" />
<!-- Stránka může být nahrávána s cache po jeden den od posledního požadavku -->
Syntaxe: <meta http-equiv="pragma" content="no-cache" />
Tuto hlavičku sice můžete použít, ovšem nikde není zaručeno, že bude správně fungovat – v HTTP specifikaci je ohledně jejího chování ponechána volnost (má sloužit k předávání specifických hlaviček pro různá zařízení), takže je lepší používat obě výše uvedené alternativy.
Co se týče praktického využití těchto hlaviček, doporučoval bych vám ponechat nakládání s cache na prohlížeči (a tedy zmiňované hlavičky nepoužívat) – ten může díky mechanismům protokolu HTTP vcelku dobře určit, jestli je třeba stáhnout novou verzi stránky. Pokud to třeba není, nahrává se vaše stránka rychleji, což je pro uživatele příjemnější. Opravdu opodstatněné jsou tyto hlavičky pouze u webů, které velmi často mění svůj obsah (zpravodajství, webová fóra apod.)
interval.cz