HTTP antraštės galiojimo laikas ir talpyklos valdymas
1. Koncepcija
Talpyklos valdymas naudojamas HTTP talpyklos valdymui (gali būti ne iš dalies įdiegtas HTTP/1.0, tik Pragma: įdiegta ne-talpykla)
Paketo formatas:
Cache-Control: cache-directive
talpyklos direktyva gali būti tokia:
Prašymas: | "be talpyklos" | "Nėra parduotuvės" | "max-age" "=" delta-sekundės | "max-sene" [ "=" delta-sekundės ] | "min-fresh" "=" delta-seconds | "Be transformacijos" | "Tik jei talpykloje" | "talpyklos plėtinys"
Atsakymas: | "viešasis" | "privatus" [ "=" <"> lauko pavadinimas <"> ] | "no-cache" [ "=" <"> lauko pavadinimas <"> ] | "Nėra parduotuvės" | "Be transformacijos" | "Privaloma pakartotinai patvirtinti" | "įgaliotinis pakartotinis patvirtinimas" | "max-age" "=" delta-sekundės | "s-maxage" "=" delta-sekundės | "talpyklos plėtinys"
Aprašymo dalis: Padalinta į talpyklą arba ne Viešas nurodo, kad atsakymą galima saugoti talpykloje bet kurioje talpyklos srityje. Privatus nurodo, kad bendrinama talpykla negali apdoroti viso vieno vartotojo atsakymo pranešimo arba jo dalies. Tai leidžia serveriui aprašyti tik tada, kai vartotojas yra Dalinio atsakymo pranešimas, kuris negalioja kitų vartotojų užklausoms. no-cache rodo, kad užklausos ar atsakymo pranešimo negalima saugoti talpykloje (HTTP/1.0 pakeičiamas Pragma no-cache) Pagal tai, ką galima saugoti talpykloje "No-store" naudojama siekiant išvengti netyčinio svarbios informacijos paskelbimo. Siunčiant užklausos pranešimą, užklausos ir atsakymo pranešimai nebus talpykloje. Skirtasis laikas pagal talpyklą Maksimalus amžius rodo, kad klientas gali gauti atsakymą, kurio tarnavimo laikas yra ne ilgesnis nei nurodytas laikas (sekundėmis). min-fresh nurodo, kad klientas gali gauti atsakymą, kurio atsakymo laikas yra trumpesnis nei dabartinis laikas ir nurodytas laikas. max-stale nurodo, kad klientas gali gauti atsakymo pranešimus pasibaigus skirtajam laikui. Jei nurodysite maksimalaus pasenusio pranešimo reikšmę, klientas galės Gauti atsakymo pranešimus, viršijančius nurodytą viršvalandžių vertę. Galiojimo laikas reiškia egzistavimo laiką, leidžiantį klientui nepatikrinti (nepateikti užklausos) iki šio laiko, o tai prilygsta maksimaliam amžiui Poveikis. Bet jei jie egzistuoja tuo pačiu metu, juos perrašo maksimalus talpyklos valdymo amžius. Formatas: Expires = "Baigiasi" ":" HTTP data Pavyzdžiui
Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)
2. Taikymas Nustatykite galiojimo laiką ir talpyklos valdymą per META per HTTP <meta http-equiv="Cache-Control" content="max-age=7200" /> <meta http-equiv="Expires" content="Mon, 20 Jul 2009 23:00:00 GMT" /> Aukščiau pateikti nustatymai yra tik pavyzdžiai, ir jūs iš tikrųjų galite naudoti vieną iš jų. Jei rašysite taip, jis galioja tik tinklalapyje, o ne vaizdams ar kitoms užklausoms tinklalapyje, ir nedarys jokios talpyklos. Tokiu būdu klientas turės daugiau užklausų, ir nors tai tik tikrina būseną Paskutinis pakeitimas, užklausų skaičius tikrai turės įtakos naršymo greičiui. Jei norite pridėti talpyklą prie failo, galite naudoti "Apache" mod_expire modulį, kuris parašytas kaip <IfModule mod_expires.c> Galiojimo laikasAktyvus PasibaigiaNumatytoji "prieiga plius 1 dienos" </IfModule> Prisimenu, kad "ExpiresActive" nustatytas į Įjungta, iš pradžių jo nenustatė ir atrodo, kad nesvarbu, koks YSlow yra, negaliu rasti talpyklos mechanizmo. Jei pridėsite taip, jis bus numatytasis viskas. Jei norite taikyti pagal atskirus MIME tipus, galite: ExpiresByType vaizdas/gif "prieiga plius 5 valandos 3 minutės" Žr. "Apache" modulio mod_expires Be to, naršyklėje spustelėjus Atnaujinti, visos kliento siunčiamos užklausos yra max-age=0, o tai rodo, kad užklausa patvirtinta ir išsiųsta į serverį Jei paprašysite patikrinti talpyklą ir atnaujinti talpyklą, paprastai gausite 304 nemodifikuotą, o tai reiškia, kad pakeitimų nėra.
|