Funcția header() este foarte folosită în PHP și voi introduce câteva metode pentru a implementa caching de pagini, dar înainte de a folosi header, trebuie menționat că nu se poate face niciun output înainte, inclusiv spațiile.
Setări care nu sunt stocate în cache
În manual, scriem cu toții despre cum să setăm cache-ul astfel încât codul să nu fie stocat în cache:
Și când configurezi, trebuie să fii atent și la faptul că nu poate exista nicio ieșire înainte de antet, altfel setarea antetului va fi invalidă.
Setări cache de pagină sau imagine
Cum să configurezi un cache pentru o pagină, deși știm că există metode de a face asta, cum ar fi E-TAG. Desigur, există și setări simple: De exemplu, facem MD5 pe conținut înainte de ieșire și îl tratăm ca pe un e-tag, atâta timp cât nu se schimbă, nu va avea niciun impact. (Aceasta este similară cu codul de stare al serverului 304, unde pagina solicitată nu a fost modificată de la ultima solicitare.) Când serverul returnează acest răspuns, conținutul web nu este returnat. ) Există și alte metode:
Stochează cache timp de 1 oră, în principal timpul de expirare trebuie setat cu gmdate, nu cu data, trebuie menționat, celelalte sunt similare. Max-age ar trebui să fie compatibil cu expire.
Pentru conținutul dinamic generat de PHP, trebuie doar să generezi un antet care să forțeze folosirea caching-ului înainte ca conținutul să fie generat, de exemplu, următorul cod cere browserului să stocheze fișierul în cache timp de 1 lună:
|