ホームページ >バックエンド開発 >PHPチュートリアル >PHP でキャッシュするために HTTP ヘッダーを効果的に活用するにはどうすればよいですか?
Q: PHP での効果的なキャッシュに不可欠な HTTP ヘッダーは何ですか?
A: Web サイトに HTTP キャッシュを実装する場合、特定のヘッダーは、キャッシュされたコンテンツの管理方法をブラウザーに指示する上で重要な役割を果たします。必須ヘッダーには次のものが含まれます:
実装:
キャッシュ ポリシーの設定:
<code class="php">session_cache_limiter('private_no_expire'); // Allow caching but do not reveal cache expiry time</code>
有効期限の設定:
<code class="php">header("Cache-Control: max-age=" . (60 * 60 * 24 * 30)); // Set cache expiration to 30 days</code>
If-Modified-Since および If-None-Match ヘッダーの管理:
これらのヘッダーの値を Last-Modified ヘッダーおよび ETag ヘッダーと比較して、不必要な再リクエストを回避します:
<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>
以上がPHP でキャッシュするために HTTP ヘッダーを効果的に活用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。