De header()-functie wordt veel gebruikt in PHP, en ik zal enkele methoden introduceren om pagina-caching te implementeren, maar voordat je header gebruikt, moet worden opgemerkt dat er geen output vóór deze functie gedaan kan worden, inclusief ruimtes.
Instellingen die niet gecached zijn
In de handleiding schrijven we allemaal over hoe je de cache zo instelt dat de code niet wordt gecachet:
En bij het instellen moet je er ook rekening mee houden dat er geen output vóór de header kan zijn, anders is de headerinstelling ongeldig.
Instellingen voor pagina- of afbeeldingscaches
Hoe je een cache voor een pagina opzet, hoewel we weten dat er manieren zijn om dat te doen, zoals E-TAG. Natuurlijk zijn er ook eenvoudige instellingen: We doen bijvoorbeeld MD5 op de content vóór de output, en behandelen het als een e-tag zolang het niet verandert, heeft het geen impact. (Dit is vergelijkbaar met serverstatuscode 304, waarbij de gevraagde pagina sinds het laatste verzoek niet is gewijzigd.) Wanneer de server dit antwoord teruggeeft, wordt de webinhoud niet teruggegeven. ) Er zijn ook andere manieren:
Cache voor 1 uur, voornamelijk moet de vervaldatum worden ingesteld met gmdate, niet met datum, dit moet worden opgemerkt, de andere zijn vergelijkbaar. Max-leeftijd zou compatibel moeten zijn met expire.
Voor dynamische content die door PHP wordt gegenereerd, hoef je alleen een header uit te voeren die het gebruik van caching afdwingt voordat de inhoud wordt uitgevoerd; bijvoorbeeld, de volgende code vereist dat de browser het bestand 1 maand lang cachet:
|