|
|
Publisert på 07.09.2015 19:30:51
|
|
|
|

HTTP-header utløper og Cache-kontroll
1. Konsept
Cache-kontroll brukes til å kontrollere HTTP-caching (kan være delvis implementert i HTTP/1.0, kun Pragma: no-cache er implementert)
Formatering i pakken:
Cache-Control: cache-directive
cache-direktiv kan være følgende:
Forespørsel: | "no-cache" | "Ingen butikk" | "max-alder" "=" delta-sekunder | "max-stale" [ "=" delta-sekunder ] | "min-fersk" "=" delta-sekunder | "Ingen-transformasjon" | "Bare-hvis-cachet" | "cache-utvidelse"
Svar: | "offentlig" | "privat" [ "=" <"> feltnavn <"> ] | "no-cache" [ "=" <"> feltnavn <"> ] | "Ingen butikk" | "Ingen-transformasjon" | "må-revalidere" | "proxy-revalidate" | "max-alder" "=" delta-sekunder | "s-maxage" "=" delta-sekunder | "cache-utvidelse"
Del av beskrivelsen: Delt inn i cachebar eller ikke Public indikerer at svaret kan caches av ethvert cache-område. Private indikerer at hele eller deler av en enkelt brukers svarmelding ikke kan behandles av den delte cachen. Dette gjør at serveren kun kan beskrive når brukeren er Delvis svarmelding, som ikke er gyldig for forespørsler fra andre brukere. no-cache indikerer at forespørselen eller svarmeldingen ikke kan caches (HTTP/1.0 erstattes med Pragmas no-cache) Avhengig av hva som kan caches No-store brukes for å forhindre at viktig informasjon blir publisert utilsiktet. Å sende inn en forespørselsmelding vil gjøre at forespørsels- og svarmeldingene ikke blir cachet. Timeout ifølge cachen Max-age indikerer at klienten kan motta et svar med en levetid på maksimalt en spesifisert tid (i sekunder). min-fresh indikerer at klienten kan motta et svar med en svartid kortere enn nåværende tid pluss den angitte tiden. Max-Stale indikerer at klienten kan motta svarmeldinger utover tidsavbruddsperioden. Hvis du spesifiserer en verdi for max-stale-meldingen, kan klienten Motta svarmeldinger som overstiger den angitte verdien av overtidsperioden. Utløp representerer eksistenstiden, slik at klienten ikke kan sjekke (sende en forespørsel) før denne tiden, noe som tilsvarer maks alder Effekt. Men hvis de eksisterer samtidig, overskrives de av maksalderen til Cache-Control. Format: Utløper = "Utløper" ":" HTTP-dato For eksempel
Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)
2. Anvendelse Sett utløp og cache-kontroll via META over HTTP <meta http-equiv="Cache-Control" content="max-age=7200" /> <meta http-equiv="Utløper" content="Man, 20. juli 2009 23:00:00 GMT" /> Innstillingene ovenfor er bare eksempler, og du kan faktisk bruke en av dem. Hvis du skriver det slik, er det kun gyldig for nettsiden, ikke for bilder eller andre forespørsler på nettsiden, og vil ikke gjøre noen cache. På denne måten vil klienten ha flere forespørsler, og selv om det bare er noe som sjekker statusen Sist endret, vil antall forespørsler definitivt påvirke nettleserhastigheten. Hvis du vil legge til cache i en fil, kan du bruke Apaches mod_expire-modul, som skrives som <IfModule mod_expires.c> Utløpsaktiv på UtløpDefault "tilgang pluss 1 dag" </IfModule> Jeg husker at ExpiresActive er satt til På, jeg satte det ikke på med en gang, og det virker som uansett hvordan YSlow er, finner jeg ikke cache-mekanismen. Hvis du legger det til slik, vil det som standard gå til alt. Hvis du vil målrette individuelle MIME-typer, kan du: UtløperByType bilde/gif "tilgang pluss 5 timer 3 minutter" Se Apache-modul mod_expires I tillegg, når du klikker på Oppdater i nettleseren, er forespørslene sendt av klienten alle max-alder=0, noe som indikerer at forespørselen er validert og sendt til serveren Hvis du ber om å sjekke cachen og deretter oppdaterer cachen, får du som regel 304 Ikke Endret, noe som betyr at det ikke er noen endring.
|
Foregående:Finn deltidsjobber og tjen ekstra penger Rekrutter deltidsarbeidere med utmerket behandling, kontantbetaling, mer enn 300 per dagNeste:Som fuzzy query i Linq til SQL
|