Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah saya boleh melaksanakan cache HTTP dengan PHP dengan berkesan untuk tapak web dinamik dengan kandungan statik?
Mengintegrasikan Caching HTTP dengan PHP
Dalam situasi di mana kandungan halaman kekal statik terutamanya tetapi dikelilingi oleh templat dinamik, memanfaatkan pengepala cache HTTP boleh mengoptimumkan penghantaran halaman. Berikut ialah panduan ringkas untuk melaksanakan caching yang berkesan menggunakan PHP:
Essential Header for Caching
Untuk mendayakan caching, pertimbangkan untuk menghantar pengepala berikut:
Permintaan dan Pengendalian Bersyarat
Proses permintaan bersyarat masuk menggunakan jika-diubah suai-sejak dan jika-tiada-padanan:
Menentukan Kesahan Cache
Apabila menjana ETag, pertimbangkan untuk menggunakan checksum atau gabungan faktor seperti pengguna ID, bahasa dan cap masa. Untuk kandungan statik yang tahan lebih lama, tetapkan tamat tempoh yang lebih lama.
Contoh Pelaksanaan
<code class="php">$tsstring = gmdate('D, d M Y H:i:s ', $timestamp) . 'GMT'; $etag = $language . $timestamp; $if_modified_since = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? $_SERVER['HTTP_IF_MODIFIED_SINCE'] : false; $if_none_match = isset($_SERVER['HTTP_IF_NONE_MATCH']) ? $_SERVER['HTTP_IF_NONE_MATCH'] : false; if ((($if_none_match && $if_none_match == $etag) || (!$if_none_match)) && ($if_modified_since && $if_modified_since == $tsstring)) { header('HTTP/1.1 304 Not Modified'); exit(); } else { header("Last-Modified: $tsstring"); header("ETag: \"{$etag}\""); }</code>
Atas ialah kandungan terperinci Bagaimanakah saya boleh melaksanakan cache HTTP dengan PHP dengan berkesan untuk tapak web dinamik dengan kandungan statik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!