Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 11711|Svar: 0

[Webbplats O&M] Webbplatsprestandaoptimering: Detaljerad förklaring av cache-kontrollinställningar

[Kopiera länk]
Publicerad på 2015-09-07 19:30:51 | | | |


HTTP-header löper ut och Cache-control


1. Koncept

Cache-kontroll används för att styra HTTP-cache (kanske inte delvis implementerat i HTTP/1.0, endast Pragma: no-cache är implementerat)

Format i paketet:

Cache-Control: cache-directive

cache-direktiv kan vara följande:

Begäran:
| "No-cache"
| "No-Store"
| "max-ålder" "=" delta-sekunder
| "max-stale" [ "=" delta-sekunder ]
| "min-färsk" "=" delta-sekunder
| "Ingen förvandling"
| "Endast om det är cacha"
| "cache-extension"


Svar:
| "offentlig"
| "privat" [ "=" <"> fältnamn <"> ]
| "no-cache" [ "=" <"> fältnamn <"> ]
| "No-Store"
| "Ingen förvandling"
| "måste-omvalidera"
| "proxy-revalidera"
| "max-ålder" "=" delta-sekunder
| "s-maxage" "=" deltasekunder
| "cache-extension"

Del av beskrivningen:
Uppdelat i cachebart eller inte
Public indikerar att svaret kan cachelagras av vilket cacheområde som helst.
Privat indikerar att hela eller delar av ett enskilt användarsvarsmeddelande inte kan behandlas av den delade cachen. Detta gör att servern endast kan beskriva när användaren är
Delvis svarsmeddelande, vilket inte gäller för förfrågningar från andra användare.
no-cache indikerar att förfrågan eller svarsmeddelandet inte kan cachas (HTTP/1.0 ersätts med Pragmas no-cache)
Beroende på vad som kan cachas
No-store används för att förhindra att viktig information oavsiktligt publiceras. Att skicka in ett förfrågningsmeddelande gör att förfrågan och svarsmeddelandena inte är cache.
Timeout enligt cachen
Max-ålder indikerar att klienten kan få ett svar med en livslängd på högst en specificerad tid (i sekunder).
min-fresh indikerar att klienten kan få ett svar med en svarstid kortare än den aktuella tiden plus den angivna tiden.
max-föråldrad indikerar att klienten kan ta emot svarsmeddelanden efter timeout-perioden. Om du anger ett värde för meddelandet max-föråldrat, kan klienten
Ta emot svarsmeddelanden som överstiger det angivna värdet för övertidsperioden.
Expires representerar existenstiden, vilket gör att klienten inte kan kontrollera (göra en begäran) före denna tidpunkt, vilket motsvarar maxålder
Effekt. Men om de existerar samtidigt skrivs de över av maxåldern för Cache-Control.
Format:
Utlöper = "Utlöper" ":" HTTP-datum
Till exempel
Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)

2. Tillämpning
Sätt utgångar och cache-kontroll via META över HTTP
<meta http-equiv="Cache-Control" content="max-age=7200" />
<meta http-equiv="Expires" content="Mån, 20 juli 2009 23:00:00 GMT" />
Ovanstående inställningar är bara exempel, och du kan faktiskt använda en av dem. Om du skriver det så här gäller det bara för webbsidan, inte för bilder eller andra förfrågningar på webbsidan, och kommer inte att göra någon cache.
På så sätt får klienten fler förfrågningar, och även om det bara är något som kontrollerar statusen Senast ändrad, kommer antalet förfrågningar definitivt att påverka surfhastigheten.
Om du vill lägga till cache i en fil kan du använda Apaches mod_expire-modul, som är skriven som
<IfModule mod_expires.c>
Löper ut Aktiv
UtlöperStandard "åtkomst plus 1 dagar"
</IfModule>
Jag minns att ExpiresActive är inställd på På, jag satte den inte på först, och det verkar som att oavsett hur YSlow är så kan jag inte hitta cache-mekanismen. Om du lägger till det så här, kommer det att gå till allt som standard.
Om du vill rikta in dig på enskilda MIME-typer kan du:
Utlöper FörByTyp bild/gif "åtkomst plus 5 timmar 3 minuter"
Se Apache Module mod_expires
Dessutom, när du klickar på Uppdatera i webbläsaren, är alla förfrågningar som skickas av klienten max-ålder=0, vilket indikerar att förfrågan är validerad och skickad till servern
Om du ber att få kontrollera cachen och sedan uppdaterar den, får du vanligtvis 304 Ej Modifierad, vilket betyder att det inte sker någon förändring.






Föregående:Hitta deltidsjobb och tjäna extra pengar Rekrytera deltidsanställda med utmärkt behandling, kontantuppgörelse, mer än 300 per dag
Nästa:Som fuzzy query i Linq till SQL
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com