Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 11711|Svar: 0

[Hjemmeside O&M] Optimering af hjemmesideydelse: Detaljeret forklaring af cache-kontrolindstillinger

[Kopier link]
Opslået på 07/09/2015 19.30.51 | | | |


HTTP-header udløber og Cache-kontrol


1. Koncept

Cache-kontrol bruges til at styre HTTP-caching (er muligvis ikke delvist implementeret i HTTP/1.0, kun Pragma: no-cache er implementeret)

Formatering i pakken:

Cache-Control: cache-directive

cache-direktiv kan være følgende:

Anmodning:
| "no-cache"
| "no-shop"
| "max-alder" "=" delta-sekunder
| "max-stale" [ "=" delta-sekunder ]
| "min-frisk" "=" delta-sekunder
| "Ingen-forvandling"
| "Kun hvis-cachet"
| "cache-udvidelse"


Svar:
| "offentlig"
| "privat" [ "=" <"> feltnavn <"> ]
| "no-cache" [ "=" <"> feltnavn <"> ]
| "no-shop"
| "Ingen-forvandling"
| "Skal-genvalidere"
| "proxy-revalidere"
| "max-alder" "=" delta-sekunder
| "s-maxage" "=" delta-sekunder
| "cache-udvidelse"

En del af beskrivelsen:
Opdelt i cachebar eller ej
Public angiver, at svaret kan caches af ethvert cacheområde.
Private angiver, at hele eller dele af en enkelt brugers svarbesked ikke kan behandles af den delte cache. Dette tillader serveren kun at beskrive, når brugeren er
Delvis svarbesked, som ikke er gyldig for forespørgsler fra andre brugere.
no-cache angiver, at anmodningen eller svarbeskeden ikke kan caches (HTTP/1.0 erstattes af Pragmas no-cache)
Alt efter hvad der kan caches
No-store bruges til at forhindre, at vigtig information utilsigtet bliver offentliggjort. At sende en anmodningsbesked vil gøre anmodnings- og svarbeskederne ikke cache.
Timeout ifølge cachen
Max-age angiver, at klienten kan modtage et svar med en levetid på højst en angivet tid (i sekunder).
min-fresh angiver, at klienten kan modtage et svar med en svartid kortere end den aktuelle tid plus den angivne tid.
Max-forstående indikerer, at klienten kan modtage svarbeskeder ud over timeout-perioden. Hvis du angiver en værdi for max-stale-beskeden, kan klienten
Modtag svarbeskeder, der overstiger den angivne værdi af overtidsperioden.
Udløb repræsenterer eksistenstiden, hvilket tillader klienten ikke at tjekke (lave en anmodning) før dette tidspunkt, hvilket svarer til max-age
Effekt. Men hvis de eksisterer samtidig, bliver de overskrevet af Cache-Controls maksimale alder.
Format:
Udløber = "Udløber" ":" HTTP-dato
For eksempel
Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)

2. Anvendelse
Sæt udløb og cache-kontrol via META over HTTP
<meta http-equiv="Cache-Control" content="max-age=7200" />
<meta http-equiv="Udløber" content="Man, 20. jul 2009 23:00:00 GMT" />
Ovenstående indstillinger er blot eksempler, og du kan faktisk bruge en af dem. Hvis du skriver det på denne måde, gælder det kun for websiden, ikke for billeder eller andre forespørgsler på websiden, og det vil ikke lave nogen cache.
På den måde vil klienten have flere forespørgsler, og selvom det bare er noget, der tjekker Sidst ændret-status, vil antallet af forespørgsler helt sikkert påvirke browsinghastigheden.
Hvis du vil tilføje cache til en fil, kan du bruge Apaches mod_expire-modul, som er skrevet som
<IfModule mod_expires.c>
Udløber Aktiv
UdløberStandard "adgang plus 1 dag"
</IfModule>
Jeg kan huske, at ExpiresActive er sat til Tændt, jeg satte det ikke til i starten, og det virker som om, uanset hvor meget YSlow er, kan jeg ikke finde caching-mekanismen. Hvis du tilføjer det sådan, vil det som standard være alt.
Hvis du vil målrette individuelle MIME-typer, kan du:
UdløberByType billede/gif "adgang plus 5 timer 3 minutter"
Se Apache Modul mod_expires
Derudover, når du klikker på Opdater i browseren, er alle de anmodninger, klienten sender, max-age=0, hvilket indikerer, at anmodningen er valideret og sendt til serveren
Hvis du beder om at tjekke cachen og derefter opdaterer den, får du som regel 304 Ikke Ændret, hvilket betyder, at der ikke sker nogen ændring.






Tidligere:Find deltidsjob og tjen ekstra penge. Rekrutter deltidsarbejdere med fremragende behandling, kontant betaling, mere end 300 om dagen
Næste:Som fuzzy query i Linq til SQL
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com