Php és webes
PHP és a Web. Cache-t.
PHP és a Web. Cache-t.
Bevezetés.
Gyorstárazására vagy nem?
Tárolható a cache az oldal határozza meg a dinamikus információk az adatforrás. Így szükséges, hogy a cache határozza meg te alapján várható élettartamukat oldal.
Amikor kiválasztja a minta az adatbázis (például a keresést a felhasználó által beírt szó), akkor ezt az oldalt biztos, hogy kérje a szerver minden hívás nélkül használni cache, mint a több kért kívánt szavakat hatalmas, és ha azt is meg kell küzdeniük a változó adathalmaz, caching értelmetlen. Vagy jön a képző tegyük fel menetrend jön a látogatókat (ami változik minden látogatás, hogy gyakorlatilag minden hívás), akkor a cache egyszerűen káros.
Azonban, ha beszélünk ugyanazon a grafikonon, de tegnap, a cache ajánlott, mivel ezek már nem lehet változtatni, és meg tudjuk menteni magunkat, és a felhasználó erőforrásokat és időt tölteni ezeket az oldalakat helyezi azokat egy helyi vagy megosztott gyorsítótár. Ennek folytatása ez a helyzet, amikor megalakult a menetrend nem valós idejű, és óránként. Akkor lehet megjósolni a dátumot a végén a „eltarthatóság” generált adatokat.
Általános elvek megőrzése oldalakat a cache.
PHP-vezérlő program cache működésének eredményéről, így további mezők fejlécében HTTP-válasz kihívás Header () függvényt.
Néhány általános kijelentések jellemző nem csak az a PHP-program:
- Pages továbbított POST soha nem tárolja a cache.
- Pages kért GET és paramétereket tartalmazó (az URL jelen van „?”) Nem a cache, ha másképp nincs feltüntetve.
Így a legtöbb esetben további utasításokat a program nem kell hozzá. Főbb kell hozni a figyelmet lehet kettőre:
- tilalmat cache dokumentumok cache alapértelmezett
- caching dokumentumok, amelyeket nem lehet az alapértelmezett cache-t.
Ban cache dokumentumok cache alapértelmezett
Ez a probléma a PHP-script hívják paraméterek nélkül, vagy az index könyvtárak, de az adatokat generáló személyesen alatt a felhasználó (például cookie-k alapján vagy a felhasználói ügynök), vagy dolgozik alapján gyorsan változó adatokat. A HTTP / 1.1 tudjuk működtetni következő területeken:
Gyorsítótárral dokumentumok, amelyeket nem lehet cache alapértelmezés
Az inverz probléma, úgy tűnhet első pillantásra abszurd. Azonban ebben van szükség. Amellett, hogy az egyszerű minimalizálásával a forgalom a fejlesztés web-programnak figyelembe kell vennie a kényelmet dolgozik a felhasználó azt. Például egyes kiszolgáló oldalak alapján generált statikus tömeg adatokat. Az a lehetőség, beleértve azokat a cache-szerver nagymértékben növeli a sebességet a felhasználó, és részlegesen enyhíti a következőtől számos regenerálódás ezen az oldalon. Cím teszi a tárolást a proxy szerver:
-
header ( "Cache-Control: public");
Gyorsítótárral lejárta előtt a helyességét
A fenti megoldás nagyon egyszerű, bár alkalmas a legtöbb feladatot. De a protokoll HTTP / 1.1 eszközökkel rendelkezik több vékony kezelése cache oldalak, és vannak olyan feladatok használatát igénylő ezeket a mechanizmusokat. Példaként - web-alkalmazások adatokkal dolgoznak egy nagy térfogatú, és megjósolta a dinamizmus. Az adatok helyességét a módon lehet beállítani a dátumot az előrejelzés frissítéseket, és módosítja a tartalmat. Ezekben az esetekben a különböző cache fejléceket.
Gyorsítótárral előrejelzett frissítése
gyorsítótárral tartalom
így a szabályok szerint az oldal nem tárolja a cache (vannak olyan paraméterek), de a fejléc lehet irányítani.-
mysql_connect ( "host", "felhasználó", "passwd");
$ Image = mysql ( "db", "válassza pics, típusát a kép, ahol id = $ id");
Header ( "Cache-Control: nyilvános, must újraérvényesítés");
Header ( "Vary: Content-ID");
Header ( "Content-ID:" .md5 (mysql_result ($ image, 0, "képek")));
Header ( "Content-type:" .mysql_result ($ image, 0, "type"));
echo mysql_result ($ image, 0, "képek");
mysql_freeResult ($ image);
mysql_close ();
Megjegyzések az orosz Apache
És kellemes (vagy kellemetlen) az üzenet az orosz Apache felhasználók. Régi idők óta a szerver ad a felhasználónak kódolt automatikusan ellátja minden oldalon (nem csak a dinamikus) fejléc tilalmat cache-t.-
Lejár: Thu, január 1, 1970 00:00:01 GMT
Annak érdekében, hogy minden oldal nincs a gyorsítótárban. Formáció elévülési fejlécben script nincs hatása. Miért kell ezt csinálni, és néhány, a módszerei a harc vannak leírva apache.lexa.ru és nincs szükség reprodukálni ezeket a tippeket itt. Figyelembe véve a munka PHP + Apache orosz Itt van, hogyan lehet hatással a cacheability.
Szkriptek, levezeti a képeket a helyzet egyszerű - orosz Apache nem újrakódolni (tehát nem ustanavlivaetsrok lejárati) dokumentumok MIME-típusának image / *. Ahhoz, hogy a cache a szöveges dokumentumok valószínűleg használja a „Cache-Control: saját, max-age =” megoldani az oldalak cache a böngésző. Bár ez az elméleti feltételezés nem bizonyított.