ホームページ > バックエンド開発 > PHPの問題 > PHPでブラウザのキャッシュを無効にする方法

PHPでブラウザのキャッシュを無効にする方法

王林
リリース: 2023-03-06 22:42:02
オリジナル
2853 人が閲覧しました

php でブラウザのキャッシュを無効にする方法: [] などのメタ タグを使用して静的ページのキャッシュを無効にできます。 Web ページの有効期限を設定します。

PHPでブラウザのキャッシュを無効にする方法

#方法は次のとおりです:

(ビデオ チュートリアルの推奨:

php ビデオ チュートリアル)# #1. 静的ページ (メタ タグを通じて設定)

<!--expires用于设定网页的过期时间,一旦过期就必须从服务器上重新加载.时间必须使用GMT格式-->
<meta http-equiv="expires" content="0" />
ログイン後にコピー

またはプラグマ no-cache を通じて設定の場合、プラグマは http-equiv 属性に表示され、content 属性の no-cache 値を使用して、 Web ページをキャッシュします (速度向上のため。ブラウザによっては、閲覧者が閲覧したページをキャッシュします。以下の定義により、ブラウザは通常ページをキャッシュせず、ブラウザをオフラインで閲覧することはできません)。

<meta http-equiv="pragma" content="no-cache" />
ログイン後にコピー

Cache-Control: キャッシュ制御。リクエストと応答が続くキャッシュ メカニズムを指定します。要求メッセージまたは応答メッセージで Cache-Control を設定しても、別のメッセージの処理中のキャッシュ プロセスは変更されません。

リクエスト内のキャッシュ命令には、no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached などが含まれます。応答メッセージの命令には、public、プライベート、キャッシュなし、ストアなし、変換なし、必須再検証、プロキシ再検証、最大有効期間。

各メッセージ内の一部の命令の意味は次のとおりです。

パブリック: 応答を任意のキャッシュ領域にキャッシュできることを示します。

プライベート: 単一ユーザーの応答メッセージのすべてまたは一部が共有キャッシュで処理できないことを示します。これにより、サーバーは、他のユーザーのリクエストには無効なユーザーからの部分的な応答のみを記述することができます。

no-cache: 要求または応答メッセージをキャッシュできないことを示します。

no-store: 重要な情報が意図せずに公開されるのを防ぐために使用されます。リクエスト メッセージで送信すると、リクエスト メッセージと応答メッセージの両方でキャッシュが使用されます。

max-age: クライアントが、指定された時間 (秒単位) を超えない存続期間を持つ応答を受信できることを示します。

min-fresh: クライアントが、現在時刻に指定された時刻を加えた時間よりも短い応答時間で応答を受信できることを示します。

max-stale: クライアントがタイムアウト期間を超えて応答メッセージを受信できることを示します。 max-stale メッセージの値を指定すると、クライアントは指定されたタイムアウト期間の値を超える応答メッセージを受信する可能性があります。

注: Cache-Control ヘッダーは HTTP1.1 で追加され、他のいくつかの方法と比較してより詳細なキャッシュ制御を実現できます。

<meta http-equiv="Cache-Control" content="no-cache,no-store, must-revalidate">
header(&#39;Cache-Control: max-age=3600*24&#39;);//缓存1天,表示最大生存期是1天,超过1天浏览器必须去服务器重新读取,这个时间是从用户第一次读取页面时开始计时的
ログイン後にコピー

2. PHP ページの場合:

動的ページの場合、キャッシュされたコードは HTML タグ出力の前に配置する必要があります。そうしないと、エラーが発生します。

<?php 
header(&#39;Cache-Control:no-cache,must-revalidate&#39;);   
header(&#39;Pragma:no-cache&#39;);   
header("Expires:0"); 
?>
ログイン後にコピー

Last-Modified: ドキュメントの最終変更時刻。その使用法は次のとおりです:

1: 静的ファイルの場合、クライアントはキャッシュ内の時刻を送信し、Apache はそれを比較し、変更がないことが判明した場合は、ヘッダーを直接返します。ステータス コードは 304 です。バイト数は非常に小さいです。

2: PHP動的ファイルの場合、クライアントが比較時刻を送信し、PHPが修正するかどうかを判断しますが、修正時刻が同じ場合は1024バイトしか返されません。 1024 が返される場合、不明です。PHP によって生成されたファイルが非常に大きく、1024 のみが返されるため、帯域幅が節約されます。クライアントは、サーバーから送信された変更時刻に基づいて、キャッシュからファイルを自動的に表示します。

注: Last-Modified ヘッダーが設定されていない場合は、Cache-Control と Expires の設定のみでも機能しますが、各リクエストは 1024

php ではなく、実際のファイル バイト数を返す必要があります。 Last-Modified ヘッダーのサンプル コードを次のように設定します。

header(&#39;Last-Modified: &#39;.gmdate(&#39;D, d M Y 01:01:01&#39;,$time).&#39; GMT&#39;);//使用的是格林尼治时间,$time是指文件添加时候的时间戳
ログイン後にコピー

関連する推奨事項:

php training

以上がPHPでブラウザのキャッシュを無効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート