HTTP glava Potek in nadzor predpomnilnika
1. Koncept
Nadzor predpomnilnika se uporablja za nadzor HTTP predpomnjenja (morda ni delno implementiran v HTTP/1.0, implementiran je le Pragma: no-cache)
Format v paketu:
Cache-Control: cache-directive
Direktiva predpomnilnika je lahko naslednja:
Zahteva: | "brez predpomnjenja" | "Brez trgovine" | "maksimalna starost" "=" delta-sekunde | "max-stale" [ "=" delta-sekunde ] | "min-fresh" "=" delta-sekunde | "Brez transformacije" | "samo-če-predpomnjeno" | "razširitev predpomnilnika"
Odgovor: | "javno" | "zasebno" [ "=" <"> ime polja <"> ] | "no-cache" [ "=" <"> ime polja <"> ] | "Brez trgovine" | "Brez transformacije" | "Moram ponovno potrditi" | "Proxy-revalidate" | "maksimalna starost" "=" delta-sekunde | "s-maxage" "=" delta-sekunde | "razširitev predpomnilnika"
Del opisa: Razdeljeno na predpomnilno ali ne Javno označuje, da je odgovor mogoče predpomniti v kateremkoli predpomnilniškem območju. Zasebno pomeni, da celoten ali del odgovornega sporočila enega uporabnika ne more biti obdelan v skupnem predpomnilniku. To strežniku omogoča, da opiše le, ko je uporabnik Delno odgovorno sporočilo, ki ni veljavno za zahteve drugih uporabnikov. no-cache pomeni, da sporočila zahteve ali odgovora ni mogoče predpomniti (HTTP/1.0 je nadomeščen s Pragma no-cache) Glede na to, kaj je mogoče predpomniti No-store se uporablja, da se prepreči nenamerno objavljanje pomembnih informacij. Pošiljanje sporočila z zahtevo povzroči, da sporočila zahteve in odgovora ne bodo predpomnjena. Časovna omejitev glede na predpomnilnik MAX-AGE pomeni, da lahko odjemalec prejme odgovor z življenjsko dobo največ določenega časa (v sekundah). min-fresh pomeni, da lahko odjemalec prejme odgovor s časom odziva, krajšim od trenutnega časa plus določenega časa. max-stale pomeni, da lahko odjemalec prejema odgovorna sporočila tudi po izteku časovne omejitve. Če določite vrednost za sporočilo z največjo zastarelostjo, lahko odjemalec Prejmite odgovorna sporočila, ki presegajo določeno vrednost nadure. Poteki predstavljajo čas obstoja, kar odjemalcu omogoča, da ne preveri (ne odda zahteve) pred tem časom, kar ustreza največji starosti Učinek. Če pa obstajajo hkrati, jih prepiše maksimalna starost Cache-Control. Oblika zapisa: Potek = "Potek" ":" HTTP-datum Na primer
Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)
2. Uporaba Set poteče in nadzor predpomnilnika preko META preko HTTP <meta http-equiv="Cache-Control" vsebina="max-age=7200" /> <meta http-equiv="Poteče" vsebina="Ponedeljek, 20. julij 2009 23:00:00 GMT" /> Zgornje nastavitve so le primeri in dejansko lahko uporabiš eno izmed njih. Če ga napišete na ta način, velja le za spletno stran, ne za slike ali druge zahteve na spletni strani, in ne bo izvajal nobenega predpomnjenja. Na ta način bo odjemalec imel več zahtev, in čeprav gre le za preverjanje statusa Zadnje spremembe, bo število zahtevkov zagotovo vplivalo na hitrost brskanja. Če želite dodati predpomnilnik datoteki, lahko uporabite Apachejev mod_expire modul, ki je zapisan kot <IfModule mod_expires.c> Poteče. Aktivno PotekPrivzeto "dostop plus 1 dan" </IfModule> Spomnim se, da je ExpiresActive nastavljen na On, sprva ga nisem nastavil, in zdi se, da ne glede na to, kako YSlow je, ne najdem mehanizma predpomnjenja. Če ga dodaš tako, bo privzeto prikazal vse. Če želite ciljati posamezne vrste MIME, lahko: ExpiresByType slika/gif "dostop plus 5 ur 3 minute" Glej Apache modul mod_expires Poleg tega, ko kliknete Osveži v brskalniku, so vse zahteve, ki jih pošlje odjemalec, največje starosti=0, kar pomeni, da je zahteva potrjena in poslana strežniku Če zahtevate pregled predpomnilnika in ga nato posodobite, boste običajno dobili 304 Not Modified, kar pomeni, da ni sprememb.
|