ホームページ >バックエンド開発 >PHPチュートリアル >PHP header() 関数セットページ Cache_PHP チュートリアル
header() 関数は PHP で広く使用されていますが、ヘッダーを使用する前に、スペースを含む出力を実行できないことに注意してください。
マニュアルでは、コードがキャッシュされないようにキャッシュを設定する方法について説明しています。
コードは次のとおりです | コードをコピー |
header("Cache-Control: no-store、no-cache、must-revalidate、post-check=0、pre-check=0"); // HTTP/1.1 |
そして、設定するときは、ヘッダーの前に出力がないことに注意する必要があります。そうしないと、ヘッダーの設定が無効になります。ページのキャッシュを設定する方法については、いくつかの方法があることは知っていますが、これまで書いたことはありませんでした。 、E-TAGなど。もちろん簡単な設定もあります:
例えば、出力する前にコンテンツに対してmd5を実行し、変更がない限り影響はありません。他の方法もあります:
コードは次のとおりです | コードをコピー |
キャッシュまでの秒数 = 3600;
$ts = gmdate("D, d M Y H:i:s", time() + $秒_to_cache) " GMT";
header("有効期限: $ts"); header("プラグマ: キャッシュ");
header("キャッシュ制御: max-age=$seconds_to_cache"); |
PHP によって生成された動的コンテンツの場合、コンテンツが出力される前に必須のキャッシュ ヘッダーを出力するだけで済みます。たとえば、次のコードでは、ブラウザーがファイルを 1 か月間キャッシュする必要があります。
コードは次のとおりです
header("キャッシュコントロール: public"); | |
$offset = 30*60*60*24; // 1 か月キャッシュします
|
コードは次のとおりです
ExpiresByType 画像/jpeg A2592000
ExpiresByType image/png A2592000 |
mod_expires の詳細なドキュメントとチュートリアルはここにあります。しかし、私が指摘したいのは、mod_expires はほとんどのサーバーにインストールされていないということです