HTTP päise aegumine ja vahemälu kontroll
1. Kontseptsioon
HTTP-vahemälu juhtimiseks kasutatakse vahemälu (ei pruugi olla osaliselt rakendatud HTTP/1.0-s, ainult Pragma: no-cache on rakendatud)
Vormistus paketis:
Cache-Control: cache-directive
cache-direktiiv võib olla järgmine:
Taotlus: | "Vahemäluta" | "Pole poodi" | "max-age" "=" delta-sekundid | "max-stale" [ "=" delta-sekundid ] | "min-fresh" "=" delta-sekundid | "No-transform" | "ainult-kui-vahemällu salvestatud" | "cache-extension"
Vastus: | "avalik" | "privaatne" [ "=" <"> välja nimi <"> ] | "no-cache" [ "=" <"> väljanimi <"> ] | "Pole poodi" | "No-transform" | "pean uuesti valideerima" | "proxy-revalideeri" | "max-age" "=" delta-sekundid | "s-maxage" "=" delta-sekundid | "cache-extension"
Osa kirjeldusest: Jagatud vahemäluks või mitte. Public märgib, et vastust saab vahemällu salvestada ükskõik millise vahemälu ala kaudu. Privaatne tähendab, et kogu või osa ühe kasutaja vastusesõnumist ei saa jagatud vahemälus töödelda. See võimaldab serveril kirjeldada ainult siis, kui kasutaja on Osaline vastussõnum, mis ei kehti teiste kasutajate päringute puhul. no-cache tähendab, et päringut või vastuse sõnumit ei saa vahemällu salvestada (HTTP/1.0 asendatakse Pragma no-cachega) Vastavalt sellele, mida saab vahemällu salvestada No-store'i kasutatakse selleks, et takistada olulise teabe tahtmatut avaldamist. Taotlussõnumi saatmine muudab päringu ja vastuse sõnumid vahemällu salvestamata. Vahemälu järgi aeg maha max-age tähendab, et klient saab vastuse eluiga mitte pikem kui määratud aeg (sekundites). Min-fresh näitab, et klient saab vastuse, mille vastuseaeg on väiksem kui praegune aeg pluss määratud aeg. max-stale näitab, et klient saab vastuseid vastu võtta pärast ajapiirangu perioodi. Kui määrad max-stale sõnumile väärtuse, siis klient saab Vastuseid saada, mis ületavad ületunniperioodi määratud väärtuse. Aegumised tähistavad eksistentsi aega, võimaldades kliendil enne seda aega mitte kontrollida (esitada taotlust), mis on võrdne maksimaalse vanusega Efekt. Aga kui need eksisteerivad samaaegselt, kirjutatakse need üle Cache-Controli maksimaalse vanusega. Formaat: Aegub = "Aegub" ":" HTTP-kuupäev Näiteks
Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)
2. Rakendus Aegumiste seadmine ja vahemälu juhtimine META kaudu HTTP kaudu <meta http-equiv="Cache-Control" content="max-age=7200" /> <meta http-equiv="Aegub" content="Esmaspäev, 20. juuli 2009 23:00:00 GMT" /> Ülaltoodud seaded on vaid näited ja sa saad tegelikult ühte neist kasutada. Kui kirjutad selle nii, kehtib see ainult veebilehe jaoks, mitte piltide ega muude päringute jaoks veebilehel ning ei tee vahemällu salvestamist. Nii on kliendil rohkem päringuid ja kuigi see on lihtsalt midagi, mis kontrollib viimati muudetud staatust, mõjutab päringute arv kindlasti sirvimiskiirust. Kui soovid failile vahemälu lisada, võid kasutada Apache mod_expire moodulit, mis on kirjutatud <IfModule mod_expires.c> Aegubaktiivne sisse AegubVaikimisi "ligipääs pluss 1 päev" </IfModule> Mäletan, et ExpiresActive on seatud sisse, ma ei pannud seda alguses sisse, ja tundub, et ükskõik kui YSlow ka poleks, ma ei leia vahemällu salvestamise mehhanismi. Kui lisad selle nii, siis vaikimisi kõigele läheb see vaikimisi. Kui soovid sihtida üksikuid MIME tüüpe, saad: ExpiresByType pilt/gif "ligipääs pluss 5 tundi 3 minutit" Vaata Apache moodulit mod_expires Lisaks, kui klõpsad brauseris Värskenda, on kõik kliendi saadetud päringud max-age=0, mis näitab, et päring on valideeritud ja saadetud serverisse Kui palud vahemälu kontrollida ja seejärel vahemälu uuendada, saad tavaliselt 304 Not Modified, mis tähendab, et muutust ei ole.
|