Fungsi header() sangat digunakan di PHP, dan saya akan memperkenalkan beberapa metode menggunakannya untuk mengimplementasikan cache halaman, tetapi sebelum menggunakan header, harus dicatat bahwa tidak ada output yang dapat dilakukan sebelumnya, termasuk spasi.
Pengaturan yang tidak di-cache
Dalam manual, kita semua menulis tentang cara mengatur cache agar kode tidak di-cache:
Dan saat menyiapkan, Anda juga harus memperhatikan fakta bahwa tidak mungkin ada output sebelum header, jika tidak, pengaturan header akan tidak valid.
Setelan cache halaman atau gambar
Cara mengatur cache untuk halaman, meskipun kita tahu ada cara untuk melakukannya, seperti E-TAG. Tentu saja, ada juga pengaturan sederhana: Misalnya, kami melakukan MD5 pada konten sebelum output, dan memperlakukannya sebagai e-tag selama tidak berubah, itu tidak akan berdampak apa pun. (Ini mirip dengan kode status server 304, di mana halaman yang diminta belum dimodifikasi sejak permintaan terakhir.) Ketika server mengembalikan respons ini, konten web tidak dikembalikan. ) Ada cara lain juga:
Cache selama 1 jam, terutama waktu kedaluwarsa harus diatur dengan gmdate, bukan tanggal, ini harus dicatat, yang lainnya serupa. max-age harus kompatibel dengan kedaluwarsa.
Untuk konten dinamis yang dihasilkan oleh PHP, Anda hanya perlu mengeluarkan header yang memaksa penggunaan caching sebelum konten dikeluarkan, misalnya, kode berikut mengharuskan browser untuk menyimpan file dalam cache selama 1 bulan:
|