Velmi často se ve zdrojových kódech HTML stránek potkávám se zajímavým mýtem a to s následujícím tagem:
<meta http-equiv="pragma" content="no-cache">
Autor se tím pravděpodobně pokouší docílit toho, aby se jeho stránka necachovala. Přejdu-li to, že vypnutí cachování je nesmysl už z pohledu škálování výkonu webové aplikace, tak stejně užití pragmy nemá hlubšího významu.
Proč je použití Pragma:no-cache nesmysl
- Hlavička
Pragmas hodnotouno-cacheje součástí specifikace HTTP 1.1 z historických důvodů a je dnes plně nahrazena hlavičkouCache-Control. - Hlavička
Pragmaje pouze hlavičkou požadavku a v odpovědi nemá opodstatnění.
Hlavičku Pragma:no-cache posílali klienti HTTP/1.0 když nechtěli dostat cachovanou odpověď z lokální nebo proxy cache, ale přímo od serveru, který volali. Posílat ji tedy v odpovědi (natož v HTML) nemá žádný význam. Někdo by mohl podotknout, že mu to funguje. Mícrosoft na to říká: strkejte si pragmu do HTML, ale my vás stejně budem cachovat. Mozilla raději řídí cachování pomocí HTTP hlaviček a tento tag také ignoruje.
Závěr
Nejprve si rozmyslete, zda je pro vás zakázání cachování opravdu
přínosné – v 99% případů nebude. Pokud stejně nebudete chtít
cachovat (každý požadavek bude váš server muset vždy zpracovat, bude muset
protéct po vaší lince atd.), posílejte HTTP hlavičku
Cache-control s hodnotou no-cache. Vkládání do
meta stránky nemá opodstatnění, zbytečně tak zvětšíte opověď a
prohlížeče to stejně většinou ignorují.











Komentáře
Radim Smička
13.43 - 17. května 2008 | #
David
15.35 - 17. května 2008 | #
rarouš
17.49 - 17. května 2008 | #
Tomáš Fejfar
13.33 - 18. května 2008 | #
Nit
09.13 - 19. května 2008 | #
rarouš
12.51 - 19. května 2008 | #
Místo pro tvůj názor