Klávesové zkratky na tomto webu - rozšířené Na obsah stránky

Hlavička Pragma a její místo v HTML

09.51 - 17. května 2008 | Webdesign

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 ta­gem:

<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

  1. Hlavička Pragma s hodnotou no-cache je součástí specifikace HTTP 1.1 z historic­kých důvodů a je dnes plně nahrazena hlavičkou Cache-Control.
  2. Hlavička Pragma je 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í.

Tagy: , ,

Autor: Aleš Roubíček | Přidej komentář | Delicious | Digg | FriendFeed | Facebook | Linkuj! | Jagg

Komentáře RSS

  1.  

    Radim Smička

    13.43 - 17. května 2008 | #

    Meta hlavička pragma je v součanosti opravdu k ničemu. Neřekl bych ale, že v 99% procentech případů není potřeba zakázat cachování. Není nic horšího než když přijdu na zpravodajský web a musím zmáčknout F5 abych si přečetl něco nového. Tohle dělala například Lupa.cz (zvláště u komentářů bylo potřeba pořád reloadovat).

  2.  

    David

    15.35 - 17. května 2008 | #

    Já jsem využil např. zakázání cachování na webu s přesným časem.

  3.  

    rarouš

    17.49 - 17. května 2008 | #

    Ano oba případy se vejdou do toho 1% případů :) Můj názor je, že zakazování cachování nemá význam, spíše by se mělo nastavat správné cachování a nenechávat to na prohlížečích. Pak nebude problém s nutností reloadování.

    Přesný čas bych neřešil přes HTML, protože stejně tam je nějaké zpoždění.

  4.  

    Tomáš Fejfar

    13.33 - 18. května 2008 | #

    [2] David Od toho je NTP + hodiny v systému :) http://cs.wikipedia.org/…ime_Protocol

  5.  

    Nit

    09.13 - 19. května 2008 | #

    99% webů má tak malou návštěvnoust, že netrpí problémy se škálováním. A 90+% z nich ani o větší návštěvnoust nestojí. :)

  6.  

    rarouš

    12.51 - 19. května 2008 | #

    [5] Nit To je zajímavá myšlenka, ale myslím, že nejden webhoster by si oddychnul, kdyby se jim správně nastaveným cachováním a úspornými aplikacemi snížila zátěž serverů a trafik na síti. Jsme v době, kdy pomalu přestává stačit kapacita sítě, není od věci se chovat úsporně i s nízkou návštěvností.

Místo pro tvůj názor

Povinné je jméno a komentář, z e-mailu se rozpoznají Gravatary.
Komentář je formátován pomocí Texy! syntaxu.
Například: **tučný text**, *kurzíva*, "text odkazu":adresa.
Internetové adresy jsou převáděny na odkazy.
Na komentáře se můžete odkazovat pomocí [číslo komentáře].

Nový komentář