Jan Štráfelda - Průvodce online -projektem
Praha/Mělník  |  776 678 044  |  jan@strafelda.cz  |  Pošlete mi poptávku

Kešování

Kešování je ukládání zdrojů, které již byly staženy z internetu, do paměti. Odtud se znovu nahrají ve chvíli, kdy budou opět potřeba a nebude je tedy nutné zdlouhavě stahovat znovu. Kešování šetří zdroje a zrychluje načítání webových stránek.

Kešování dnes probíhá na mnoha úrovních:

  • svou vlastní keš mají internetové prohlížeče
  • stránky se kešují na nejrůznějších místech internetu po cestě od serveru k vám
  • stránky kešují také servery, aby je nemusely pokaždé vytvářet znovu

Nevýhodou kešování je fakt, že obsah uložený v keši už může být zastaralý. Pokud například stránku upravíte a prohlížeč návštěvníka si ji vezme ze své keše, návštěvník se o změnách nedozví.

Proto se každému zdroji (HTML dokumentu, kaskádovým stylům, obsaženým obrázkům apod.). nastavuje pomocí HTTP hlaviček délka expirace. HTML dokumentům nejkratší a ostatním zdrojům pak delší – s tím, že při změně se zkrátka změní adresa zdroje odkazovaná z HTML.

Jak vypnout u souboru kešování

Někdy změníte soubor, třeba na web nahrajeme novou verzi PDF dokumentu nebo upravený soubor s kaskádovými styly, a prohlížeč vám stále tvrdošíjně ukazuje původní obsah souboru před změnou. Právě proto, že máte soubor nakešovaný. Nejjednodušší je přidat za název nějaký URL parametr, například screen.css?v=2. Spolehlivějším řešením, které 100% funguje i na serverových keších, je úplně změnit jméno souboru, například na: screen_v2.css.

Jen pro zajímavost, v Adapticu používáme při vývoji internetových aplikací automatický skript, který při nahrávání kaskádových stylů na web vytvoří unikátní hash, který pak ve všech šablonách vloží do jména souboru: screen.min.13cbb8c8bb.css. To min v názvu značí, že skript zároveň soubor minimalizuje (odstraní z něj mezery a komentáře).

Na serveru pak máme nastavený Apache tak, aby při volání takového souboru podstrčil soubor screen.min.css. Můžeme tedy na serveru nastavit kešování CSS na celé dny a přitom se změny ve stylech návštěvníkům projeví okamžitě – a to vše se děje automaticky, aniž by to vývojáří zabíralo čas, který si zákazníci draze platí.

Pokud vám článek pomohl, pomozte mi na oplátku vy a nechte mi recenzi.

Zaujal jsem vás? Přihlašte se do mailingu a mé další texty už vám neuniknou:

Zprávy posílám cca 8× ročně. Odhlásit se můžete kdykoliv. Více informací.