Hogyan lehet megelőzni
Mi az elrejtés?
Ez megőrzése az ügyfél file szerver egy bizonyos ideig.
Mert mi van?
Igen, ez egy nagyon hasznos funkció, és a böngésző nagyon szeretném használni (ezek mind egy sorban cache alapértelmezés szerint), de most képzeljük el: van egy hírportál, amely gyakran hozzá a híreket. Következésképpen, ha a kliens böngésző zakeshiruet híroldal, azt kockáztatja, hogy hagyjon ki egyetlen fontos hírek ..
Mit kell tenni?
Ön megakadályozhatja a böngésző cache a tartalom ezen (de nem tiltja a cache minden egy sorban!) Oldalak. És itt van egy csomó probléma ..
Hogy, hogy nem kell csinálni:
Sok könyv és számos forrás egy darab kódot php, ami betiltani a böngésző cache az oldalra:
Miért?
Tekintsük ezt a kódot részletei:
"Cache-Control: no-cache" - nem akadályozza cache-t.
Lefordítva hétköznapi emberi nyelven ez a következőket jelenti:
„Te is a cache a tartalom ezen az oldalon, de nézd meg, mielőtt a cache nem frissül, ha az oldal a szerveren.”
„Lejár”. - ez a cím, hogy mennyire releváns ez az oldal. Ie ha szüksége van rá requeried szerver.
A fenti kód ebben fejléc tartalmazza a dátumot az utolsó. Ismét fel magát a helyén egy kereső robot.
Hogyan kell csinálni a helyes?
Tény, hogy elég letiltani caching mindössze 2 sor ..
header ( "Cache-Control: no-store");
header ( "Lejár:" dátum ( "r").);
„Nem-store” - ellentétben a „no-cache” teljesen letiltja a böngésző cache az oldalt.
Vagy, megteheti:
header ( "Cache-Control: no-store, no-cache, must újraérvényesítés");
header ( "Lejár:" dátum ( "r").);
Csak éppen ellenkezőleg, akkor explicit módon lehetővé teszik a böngésző cache a dokumentumot:
header ( "Cache-Control: public");
header ( "Lejár:" dátum ( "r", time () + 3600).);
Például, ha a böngésző lenne kétséges: gyorsíthatóságát tartalom van vezetve a cím „Cache-Control: nyilvános” ő zakeshiruet azt.
Ebben a példában a böngésző zakeshiruet dokumentum 3600 másodperc.
Köszönöm a figyelmet. Amíg a következő alkalommal :)