|
|
Geplaatst op 07-09-2015 19:30:51
|
|
|
|

HTTP-header Verloopt en Cache-control
1. Concept
Cache-control wordt gebruikt om HTTP-caching te regelen (mogelijk niet gedeeltelijk geïmplementeerd in HTTP/1.0, alleen Pragma: no-cache is geïmplementeerd)
Opmaak in het pakket:
Cache-Control: cache-directive
cache-richtlijn kan als volgt zijn:
Verzoek: | "no-cache" | "No-Store" | "max-leeftijd" "=" delta-seconden | "max-stale" [ "=" delta-seconds ] | "min-fresh" "=" delta-seconden | "geen-transformatie" | "Alleen-als-gecachet" | "cache-extensie"
Reactie: | "openbaar" | "soldaat" [ "=" <"> veldnaam <"> ] | "no-cache" [ "=" <"> veldnaam <"> ] | "No-Store" | "geen-transformatie" | "Moet-herbevestigen" | "proxy-hervalideren" | "max-leeftijd" "=" delta-seconden | "s-maxage" "=" delta-seconden | "cache-extensie"
Een deel van de beschrijving: Onderverdeeld in cacheable of niet Publiek geeft aan dat de respons door elk cachegebied kan worden gecachet. Privé geeft aan dat het antwoordbericht van één enkele gebruiker volledig of gedeeltelijk niet door de gedeelde cache kan worden verwerkt. Dit stelt de server in staat om alleen te beschrijven wanneer de gebruiker is Gedeeltelijk responsbericht, dat niet geldig is voor verzoeken van andere gebruikers. no-cache geeft aan dat het verzoek of het antwoordbericht niet kan worden gecacht (HTTP/1.0 wordt vervangen door Pragma's no-cache) Volgens wat er gecached kan worden No-store wordt gebruikt om te voorkomen dat belangrijke informatie onbedoeld wordt gepubliceerd. Het versturen van een verzoekbericht zorgt ervoor dat de verzoek- en antwoordberichten niet meer worden gecached. Timeout volgens de cache Max-age geeft aan dat de cliënt een antwoord kan ontvangen met een levensduur van niet langer dan een bepaalde tijd (in seconden). min-fresh geeft aan dat de client een antwoord kan ontvangen met een responstijd korter dan de huidige tijd plus de opgegeven tijd. max-stale geeft aan dat de cliënt responsberichten kan ontvangen na de time-outperiode. Als je een waarde specificeert voor het max-stale bericht, dan kan de client Ontvang responsberichten die de gespecificeerde waarde van de overtijdperiode overschrijden. Vervaldatums geven de tijd van bestaan aan, waardoor de client niet vóór deze tijd kan controleren (een verzoek indienen), wat gelijkstaat aan maximale leeftijd Effect. Maar als ze tegelijkertijd bestaan, worden ze overschreven door de maximale leeftijd van Cache-Control. Formatteren: Expires = "Expires" ":" HTTP-date Bijvoorbeeld
Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)
2. Toepassing Stel vervallen in en cache-controle via META over HTTP <meta http-equiv="Cache-Control" content="max-age=7200" /> <meta http-equiv="Expires" content="Ma, 20 jul 2009 23:00:00 GMT" /> De bovenstaande instellingen zijn slechts voorbeelden, en je kunt er daadwerkelijk één gebruiken. Als je het zo schrijft, is het alleen geldig voor de webpagina, niet voor afbeeldingen of andere verzoeken op de webpagina, en zal het geen cache doen. Op deze manier heeft de client meer verzoeken, en hoewel het alleen iets is dat de status Laatst gewijzigd controleert, zal het aantal verzoeken zeker de browsesnelheid beïnvloeden. Als je cache aan een bestand wilt toevoegen, kun je Apache's mod_expire-module gebruiken, die geschreven is als <IfModule mod_expires.c> VerlooptActief op VerlooptStandaard "toegang plus 1 dagen" </IfModule> Ik herinner me dat ExpiresActive op Aan staat, ik heb het eerst niet aangezet, en het lijkt erop dat ik, ongeacht hoe YSlow is, het cachingmechanisme niet kan vinden. Als je het zo toevoegt, wordt het standaard alles geactiveerd. Als je individuele MIME-types wilt targeten, kun je: ExpiresByType afbeelding/gif "toegang plus 5 uur 3 minuten" Zie Apache Module mod_expires Bovendien, wanneer je op Verversen in de browser klikt, zijn de verzoeken die door de client worden verzonden allemaal max-age=0, wat aangeeft dat het verzoek is gevalideerd en naar de server is gestuurd Als je vraagt om de cache te controleren en deze vervolgens bijwerkt, krijg je meestal 304 Niet gewijzigd, wat betekent dat er geen verandering is.
|
Vorig:Vind parttime banen en verdien extra geld Werf parttime werknemers met uitstekende behandeling, geldafwikkeling, meer dan 300 per dagVolgend:Zoals fuzzy query in Linq naar SQL
|