Header()-funktiota käytetään paljon PHP:ssä, ja esittelen joitakin tapoja toteuttaa sitä sivuvälimuistin toteuttamiseen, mutta ennen otsikon käyttöä on huomattava, ettei sitä voi tehdä mitään tulostusta, mukaan lukien välilyöntejä.
Asetukset, joita ei ole välimuistissa
Käsikirjassa kirjoitamme kaikki siitä, miten välimuisti asetetaan niin, ettei koodia välimuistiteta:
Ja asetuksia tehdessä on myös kiinnitettävä huomiota siihen, ettei otsikkoa saa olla lähtöä, muuten otsikkoasetus on virheellinen.
Sivun tai kuvavälimuistin asetukset
Kuinka asettaa välimuisti sivulle, vaikka tiedämme, että siihen on tapoja, kuten E-TAG. Tietenkin on myös yksinkertaisia asetuksia: Esimerkiksi teemme MD5:n sisällölle ennen tulostusta ja käsittelemme sitä e-tagina, kunhan se ei muutu, sillä ei ole vaikutusta. (Tämä on samankaltainen kuin palvelimen tilakoodi 304, jossa pyydettyä sivua ei ole muutettu edellisen pyynnön jälkeen.) Kun palvelin palauttaa tämän vastauksen, verkkosisältöä ei palauteta. ) On muitakin tapoja:
Välimuisti 1 tunnin ajan, pääasiassa viimeinen käyttöaika pitää asettaa gmdatella, ei päivämäärällä, tämä kannattaa huomioida, muut ovat samankaltaisia. Max-age pitäisi olla yhteensopiva vanhentumisen kanssa.
PHP:n tuottamalle dynaamiselle sisällölle tarvitsee vain tulostaa otsikko, joka pakottaa välimuistin käytön ennen sisällön tulostamista, esimerkiksi seuraava koodi vaatii selaimen välimuistittaa tiedoston kuukauden ajan:
|