HTTP-otsikon vanheneminen ja välimuistin hallinta
1. Konsepti
Välimuistikontrollia käytetään HTTP-välimuistin hallintaan (ei välttämättä osittain toteutettu HTTP/1.0:ssa, vain Pragma: no-cache on toteutettu)
Muoto paketissa:
Cache-Control: cache-directive
Välimuisti-direktiivi voi olla seuraava:
Pyyntö: | "Ei välimuistia" | "Ei kauppaa" | "max-age" "=" delta-sekuntia | "maksimi-vanha" [ "=" delta-sekuntia ] | "min-fresh" "=" delta-sekuntia | "ei-muunnos" | "vain-jos-välimuistissa" | "välimuisti-laajennus"
Vastaus: | "julkinen" | "yksityinen" [ "=" <"> kenttänimi <"> ] | "no-cache" [ "=" <"> kenttänimi <"> ] | "Ei kauppaa" | "ei-muunnos" | "täytyy vahvistaa uudelleen" | "proxy-uudelleenvalidoi" | "max-age" "=" delta-sekuntia | "s-maxage" "=" delta-sekuntia | "välimuisti-laajennus"
Osa kuvauksesta: Jako välimuistiin tai ei välimuistiin Julkinen tarkoittaa, että vastaus voidaan välimuistittaa mille tahansa välimuistialueelle. Yksityinen tarkoittaa, että koko tai osa yksittäisen käyttäjän vastausviestistä ei voida käsitellä jaetussa välimuistissa. Tämä mahdollistaa palvelimelle kuvailun vain, kun käyttäjä on Osittainen vastausviesti, joka ei päde muiden käyttäjien pyyntöihin. no-cache tarkoittaa, että pyyntö- tai vastausviestiä ei voi välimuistittaa (HTTP/1.0 korvataan Pragman no-cachella) Sen mukaan, mitä voidaan välimuistittaa No-storea käytetään estämään tärkeän tiedon tahattoman julkaisemisen. Pyynnön lähettäminen tekee pyynnöstä ja vastausviestistä välimuistin. Aikakatkaisu välimuistin mukaan Max-age tarkoittaa, että asiakas voi vastaanottaa vastauksen, jonka elinikä on enintään määritelty aika (sekunneissa). Min-fresh tarkoittaa, että asiakas voi vastaanottaa vastauksen, jonka vastausaika on pienempi kuin nykyinen aika plus määritelty aika. max-stale tarkoittaa, että asiakas voi vastaanottaa vastausviestejä aikakatkaisun jälkeen. Jos määrität arvon max-stale -viestille, asiakas voi Vastaanota vastausviestejä, jotka ylittävät ylityöajan määritetyn arvon. Vanhentuneet edustavat olemassaoloaikaa, jolloin asiakas ei voi tarkistaa (tehdä pyyntöä) ennen tätä aikaa, mikä vastaa maksimiikää Vaikutus. Mutta jos ne ovat olemassa samaan aikaan, ne korvataan Cache-Controlin maksimiiällä. Formaatti: Expires = "Expires" ":" HTTP-date Esimerkiksi
Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)
2. Soveltaminen Aseta vanhenemisaika ja välimuistin hallinta METAn kautta HTTP:n kautta <meta http-equiv="Cache-Control" content="max-age=7200" /> <meta http-equiv="Expires" content="Ma 20. heinäkuuta 2009 klo 23:00:00 GMT" /> Yllä olevat asetukset ovat vain esimerkkejä, ja voit oikeasti käyttää yhtä niistä. Jos kirjoitat sen näin, se on voimassa vain verkkosivulle, ei kuville tai muille pyynnöille sivulla, eikä tee välimuistia. Näin asiakkaalla on enemmän pyyntöjä, ja vaikka kyse on vain Viimeksi muokattu -tilan tarkistamisesta, pyyntöjen määrä vaikuttaa selausnopeuteen. Jos haluat lisätä välimuistia tiedostoon, voit käyttää Apachen mod_expire-moduulia, joka on kirjoitettu muodossa <IfModule mod_expires.c> ExpiresActive On VanheneeOletus "pääsy plus 1 päivä" </IfModule> Muistan, että ExpiresActive on asetettu päälle, en asettanut sitä aluksi päälle, ja näyttää siltä, että YSlow on kuinka paljon tahansa, en löydä välimuistimekanismia. Jos lisäät sen näin, se palautuu oletuksena kaikkeen. Jos haluat kohdistaa yksittäiset MIME-tyypit, voit: ExpiresByType-kuva/gif "pääsy plus 5 tuntia 3 minuuttia" Katso Apache-moduuli mod_expires Lisäksi, kun klikkaat selaimessa Päivitä, asiakkaan lähettämät pyynnöt ovat kaikki max-age=0, mikä tarkoittaa, että pyyntö on validoitu ja lähetetty palvelimelle Jos pyydät tarkistamaan välimuistin ja päivität sen, saat yleensä 304 Not Modified, mikä tarkoittaa, ettei muutosta ole.
|