Header()-funksjonen brukes mye i PHP, og jeg vil introdusere noen metoder for å implementere side-caching, men før jeg bruker header, må det bemerkes at ingen output kan gjøres før den, inkludert spaces.
Innstillinger som ikke er bufret
I manualen skriver vi alle om hvordan man setter cache slik at koden ikke blir bufret:
Og når du setter opp, må du også være oppmerksom på at det ikke kan være noen utdata før headeren, ellers vil header-innstillingen være ugyldig.
Innstillinger for side- eller bildecache
Hvordan sette opp en cache for en side, selv om vi vet at det finnes måter å gjøre det på, som E-TAG. Selvfølgelig finnes det også enkle innstillinger: For eksempel gjør vi MD5 på innholdet før utdata, og behandler det som en e-tag så lenge det ikke endres, vil det ikke ha noen innvirkning. (Dette ligner på serverstatuskode 304, hvor den forespurte siden ikke har blitt endret siden forrige forespørsel.) Når serveren returnerer dette svaret, returneres ikke webinnholdet. ) Det finnes også andre måter:
Cache for 1 time, hovedsakelig må utløpstiden settes med gmdate, ikke dato, dette bør bemerkes, de andre er like. Max-Age bør være kompatibel med utløpsdato.
For dynamisk innhold generert av PHP trenger du bare å sende ut en header som tvinger bruk av caching før innholdet sendes ut, for eksempel krever følgende kode at nettleseren cacher filen i 1 måned:
|