PHP で header() 関数を使用してブラウザ キャッシュを設定するコード
Jun 13, 2016 pm 12:13 PM
これには、次の 4 つのヘッダー タイプが含まれます。
Last-Modified (最終変更時刻)、
Pragma (コンパイル命令)。
最初の 3 つのヘッダーは HTTP1.0 標準に属します。 Last-Modified ヘッダーでは、UTC の日付と時刻の値が使用されます。キャッシュ システムは、Last-Modified 値がページのキャッシュされたバージョンよりも現在時刻に近いことを確認した場合、サーバーからの新しいバージョンを使用する必要があることを認識します。
Expires は、キャッシュされたバージョンの有効期限がいつ切れるか (GMT) を示します。これを以前の時刻に設定すると、サーバー上のページが強制的に使用されます。
プラグマは、ページ データの処理方法を定義します。次のようにページのキャッシュを回避できます:
header("Pragma:no-cache");
Cache-Co0ntrol ヘッダーは HTTP1.1 で追加され、より詳細な制御を実現できます。 (HTTP 1.0 ヘッダーも引き続き使用する必要があります)。次の表に示すように、キャッシュ制御には
多くの設定があります:
次の例では、header() を使用してブラウザのキャッシュを設定します。
指令 | 含义 |
public | 可以在任何地方缓存 |
private | 只能被浏览器缓存 |
no-cache | 不能在任何地方缓存 |
must-revalidate | 缓存必须检查更新版本 |
proxy-revalidate | 代理缓存必须检查更新版本 |
max-age | 内容能够被缓存的时期,以秒表示 |
s-maxage | 覆盖共享缓存的max-age设置 |
コードをコピーします
コードは次のとおりです: <? php # Script 2.7 - view_tasks.php
// データベースに接続します:$dbc = @mysqli_connect ('localhost', 'username', 'password', 'test') OR die ('<p> ;データベースに接続できませんでした!</p></body></html>');
// 最新の日付をタイムスタンプとして取得します:
$q = ' SELECT UNIX_TIMESTAMP(MAX( date_added)), UNIX_TIMESTAMP(MAX(date_completed)) FROM タスク';
$r = mysqli_query($dbc, $q)
list($max_a, $max_c) = mysqli_fetch_array r, MYSQLI_NUM);
// より大きいタイムスタンプを決定します:
$max = ($max_a > $max_c) ? $max_a : $max_c; // 秒単位でキャッシュ間隔を作成します。 >$interval = 60 * 60 * 6; // 6 時間
// ヘッダーを送信します:
header ("Last-Modified: " . gmdate ('r', $max)); ("有効期限: " . gmdate ("r", ($max $interval)));
ヘッダー ("キャッシュ制御: max-age=$interval");
1. データベースに接続後、データテーブル内の最新の日付値date_addedとdate_completedを取得し、UNIX_TIMESTAMP()関数を使用して戻り値を整数に変換し、最大値を取得して代入します。それを $max にします。
2. 適切なキャッシュ時間を定義します。
コードをコピー
コードは次のとおりです:
$interval=60*60*6 妥当 値はページ自体、訪問者数、ページの更新頻度によって決まります。上記のコードでは 6 時間です。 3. Last-Modified ヘッダーを送信します。
コードをコピー
コードは次のとおりです:
header("Last-Modified:".gmdate("r", ($max $interval))); gmdate() 関数がパラメーター「r」を使用すると、HTTP 仕様に従って対応する日付形式が返されます。 4. Expires ヘッダーを設定します。
コードをコピー
コードは次のとおりです:
header ("Expires: " . gmdate ("r", ($ max $interval ))); 5. Cache_Control ヘッダーを設定します。
コードをコピー
header ("Cache-Control: max-age=$interval") ;

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

セサミオープンドア公式ウェブサイトセサミオープンドアアプリ最新のウェブサイト

セサミオープンドア公式ウェブサイト入り口の最新バージョンの公式ウェブサイトリンクアドレス入り

セサミオープンドア交換公式ウェブサイトgate.io交換公式ウェブサイトの入り口
