PHP min. 5.6.8MySQL min. 5.1Apache min. 2.0
PHP-Fusion 9 Jádro
v9.0
Český překlad
Pravidelně aktualizovaný

Technologie

Kešování: má význam expires?

Kešování: má význam expires?
Je nepopiratelné, že tzv. webové cache (keše) zmenšují na webech zpoždění. Proto je k tomu mj. určena odpovědní http hlavička expires. Avšak validátory pro čistotu webů tuto hlavičku nesnášejí. Označují ji za špatnou hodnotu. Má tedy význam expires nastavovat?

Je nepopiratelné, že tzv. webové cache (keše) zmenšují na webech zpoždění. Proto je k tomu mj. určena odpovědní http hlavička expires. Avšak validátory pro čistotu webů tuto hlavičku nesnášejí. Označují ji za špatnou hodnotu. Má tedy význam expires nastavovat?

Cílem kešování je tedy snížení zátěže hardware PC a zvýšení rychlosti odezvy webové stránky. Ovládání keši je možné zmíněnou http hlavičkou Expires. Určuje všem keším, jak dlouho je objekt čerstvý. Po uplynutí nastaveného času se pak dotáží původního serveru, zda byl dokument změněn. Hlavička Expires je podporována prakticky všemi klienty. Je umístěna v Doctype v sekci HEAD, jako meta tag:

echo"n";

Jak však vidíme, oficiální HTML validátor W3C takové nastavení nesnáší a označuje jej za chybu.

Expirace webu, validátor označuje jako chybu

Webové servery umožňují nastavit odpovědi hlavičku http expires vypršením čerstvosti na absolutní čas, na čas odvozený z času posledního shlédnutí objektu (poslední access time), nebo na čas odvozený od posledního času, kdy se dokument na vašem serveru změnil (poslední modification time). Hlavičky Expires jsou užitečné na ovládání kešování stránek, které jsou pravidelně měněny. Když například aktualizujete stránku s novinkami každý den v šest ráno, můžete nastavit objekt pro vypršení v tomto čase, takže keše budou vědět, kdy si vzít čerstvou kopii bez toho, aby si uživatel musel stránku sám aktualizovat.

Hlavičky Expires jsou obzvláště dobré pro nastavení kešování statických obrázků (jako jsou navigační proužky a tlačítka). Protože se moc nemění, můžete jim nastavit extrémně dlouhý čas expirace (tj. vypršení čerstvosti), takže se váš web bude uživatelům jevit jako pružněji reagující.

Jediná správná hodnota jakékoli hlavičky Expires je HTTP datum; cokoli jiného bude s největší pravděpodobností interpretováno jako "v minulosti", takže objekt bude nekešovatelný. Pamatujte také na to, že čas v HTTP datu je Greenwichský hlavní čas (GMT), nikoli lokální čas.

Například: Expires: Fri, 30 Oct 2016 33:20:22 GMT

Nevýhody a co s nimi?:

Jak je ze shora uvedeného zřéjmé, může být hlavička Expires užitečná, má však některá omezení. Zaprvé kvůli tomu, že obsahuje datum, hodiny na serveru a keš musejí být synchronizovány. Pokud mají rozdílné představy o čase, nebude dosaženo patřičných výsledků a keše mohou chybně považovat starý obsah za čerstvý. Takže dojde k anomálii. To je poměrně hodně ošidné. Proto je nutné zajistit, aby byl systémový čas na serveru přesný. Jedním ze způsobů, jak se to dá udělat, je použít Network Time Protocol (NTP). A to je operace navíc při níž musíte spolupracovat s providerem vašeho hostingu. Dalším problémem může být opomenutí, že jste pro nějaký obsah nastavili a tedy že má vypršet v konkrétní čas. Pokud tedy před uplynutím tohoto času hlavičku Expires nezaktualizujete, každý požadavek půjde zpět na váš server, což zvýší přenos a odezvu. To je obrovská nevýhoda!

Řešením tohoto problému může být vynecháním meta tagu expirace v Doctype webu a v nastavení konfiguračního souboru .htaccess, kde kešování prostě vypneme:

Expirace webu, nastavení v souboru .htaccess
V souboru .htaccess je expirace webu zapnutá, lze ji vypnout zápisem OFF.

  • Autor: Vícha Květoslav (Kvido)
  • PC-politika.cz Zdroj: Adaptic.cz
  • Stupeň znalosti - expert

Kvido 19.06.2016 10:05 1,178 0 komentářů

0 komentářů

Zanechat komentář

Přihlaste se, abyste mohli zveřejnit komentář.
  • Žádné komentáře byly zveřejněny.
Nejnovější témata fóra
  Vlákno Zobrazení Odpovědi Poslední příspěvek
Vývoj - ako pokračuje
v PHP-Fusion 9.0.3
46 1 Kvido
18-09-2018 12:59
Blogs na HP [Vyřešeno]
v PHP-Fusion 9.0
69 2 Kvido
15-09-2018 17:12
Tenisový portál [Vyřešeno]
v Obecná diskuse
163 3 jany
08-09-2018 08:06
Prihlásenie [Vyřešeno]
v Administrace systému
145 7 Balin50
05-09-2018 15:36
FAQ formátovanie [Vyřešeno]
v Administrace obsahu
215 8 RobiNN
05-09-2018 15:09
Token [Vyřešeno]
v Administrace systému
158 1 RobiNN
05-09-2018 15:05
Vzhled [Vyřešeno]
v Infuze, panely, vzhledy
205 2 RobiNN
05-09-2018 14:57
Přihlášení
Ještě nejste členem? Klikněte zde a zaregistrujte se.
Shoutbox
Chcete-li odeslat zprávu, musíte se přihlásit.
Kvido
před 16 dny
Jj. Zbytečné moc ne, pač tu u jejich reg. e-mailem nepustím zahraniční, nejčastěji ru., com., org.
RobiNN
před 16 dny
Kvido spammerov musíš vymazať a zablokovať ich IP. Inak je to zbytočne.
Kvido
před 16 dny
Protože se ve Fóru objevilo několik SPAMů, je nyní registrace nových členů zapnuta přes e-mail a povolení hlavního administratora.
RobiNN
před 1 měsícem
4 témy sú v základnej inštalácii (na 4. téme robím) Ďalšie sú tu https://github.co...ion/Themes a tu https://github.co...ion-Themes
F
před 1 měsícem
Kdy bude více vzhledů, módů a všeho možného do php fusion 9? :-)