Kun kuvavastaus kulkee HTTP:lle näkyvän jaetun välimuistin kautta, julkaise selkeä elinikä ja validaattori. Kun kuva on turvallista käyttää uudelleen käyttäjien kesken, esimerkkivastauksen otsakkeet ovat:

Cache-Control: public, max-age=604800
ETag: "image-v4"

Elinikä on sekunteina; 604800 on yksi viikko. Käytä public-arvoa vain sisältöön, joka on tarkoitettu uudelleenkäyttöön käyttäjien kesken.

Jos selain ja jaettu välityspalvelin tarvitsevat eri eliniät, s-maxage antaa jaetun välimuistin eliniän. Esimerkiksi max-age=3600 yhdessä s-maxage=604800 kanssa antaa jaetulle välimuistille pidemmän tuoreusjakson.

Expires on päivämäärä, ei kesto

Expires ottaa HTTP-päivämäärämuotoisen aikaleiman. max-age ohittaa kyseisen kentän, ja s-maxage on ensisijainen jaetuissa välimuisteissa. Luo mikä tahansa Expires-päivämäärä vastausta tuottaessasi.

Uudelleenlataus voi pyytää validoinnin

Pyyntö, joka sisältää Cache-Control: no-cache vaatii onnistuneen alkuperän validoinnin ennen tallennetun vastauksen uudelleenkäyttöä. Näin voi tapahtua myös silloin, kun vastauksen tavallinen tuoreuskäytäntö muuten sallisi uudelleenkäytön.

Validaattori antaa välimuistille mahdollisuuden tarkistaa muuttumaton kuva tehokkaasti. 304-vastaus voi vahvistaa tallennetun esityksen lähettämättä kuvan tavuja uudelleen alkuperästä. Liikenne alkuperään ei siis sinänsä tarkoita, että välimuistiin tallennettu objekti olisi hylätty.

Vertaa tavallista uudelleenkäyttöä ja selkeitä uudelleenlatauksia, kun tarkastelet käytäntöä.

Aiheeseen liittyvät artikkelit