FF a Cache-control: no-store

The Zero, pondělí 27. 3. 2006 - 17:33

Jak jistě mnozí z vás ví, Firefox 1.5 má v sobě funkci, která se označuje jako Fastback, někteří tomu říkají DOM Cache, bfcache a odborně se tomu říká browser.sessionhistory.max_total_viewers.

Oproti Opeře, která dokáže bez jakýchkoliv větších nároků fastback na mnoho mnoho kroků dozadu/dopředu, standardní nastavení FF se odvíjí podle přítomné RAM (a pro 512MB je to 5 stránek), protože jedna stránka zabírá údajně průměrně 4 MB.

Proč o tom ale píšu? Protože podle RFC 2616 slouží no-store k označení privátních dat, která se (s výjimkou historie v prohlížeči) nesmí ukládat. Autoři FF si zřejmě řekli, že no-store stránky budou natolik citlivé, že je raději nedají ani do cache (tohle je hodně diskutabilní, ale rozhodně to není jednoznačně špatně).

Problém je v tom, že PHP při použití funkce session_start() automaticky nastaví Cache-control na "absolutně necachovat" včetně no-store. Podle mého jsou ale sessions někde využívány k účelům, ke kterým běžně stačí no-cache (cache smí stránku uložit, ale při každém vyžádání musí ověřit, zda nedošlo ke změně stránky).

Bohužel právě využívání sessions pak vede k tomu, že na některých stránkách fastback ve FF nefunguje. Takže jestli chcete trochu optimalizovat stránky pro FF, přidejte po session_start() ještě

header('Cache-control: no-cache,max-age=0,s-maxage=0,must-revalidate');

Funguje bez problémů, ověřeno v praxi na Cold War.

Zařazeno do kategorie Panda.

Předchozí: 19letá prohlídka

Následující: Jak je důležitá cache

Komentáře

1. Acci

30.03.2006 13:58:10

Díky, o tomhle jsem nevěděl (i když Firefox znám relativně dobře).

Přidat komentář

Jako heslo je to proto, že lze využít magic wand a odpověď se tak bude pamatovat.

Povolené tagy: b, i, q. Bez jakýchkoli atributů a řádně ukončené. URL se převádí automaticky.

Vyžadováno je pouze jméno (proto je zvýrazněné), text, kód (ten zadáváte jen s vypnutým JavaScriptem - jestli ho nevidíte, nemusíte se o něj starat. Poslední věc, kterou formulář vyžaduje, je stisknutí tlačítka Přidat.

* E-mail slouží především k načtení gravatarů. Zobrazovat se nebude.