Web アプリケーションを開発するとき、通常、ブラウザーのキャッシュの問題が発生します。開発およびテストのプロセス中、ブラウザーのキャッシュが存在するため、コードへの変更がすぐに反映されない可能性があり、開発およびテストに多大な不便が生じます。
以下、phpを使ってブラウザにキャッシュを生成しないように設定する方法を紹介します。
php は、生の HTTP ヘッダー情報をブラウザーに送信できるヘッダー関数を提供します。これを使用して、ブラウジング サーバー キャッシュを設定できます。 。ヘッダー関数で Expires および Cache-Control 応答ヘッダーを設定することにより、ブラウザーにページをキャッシュしないように指示できます。例:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-cache");
このコードは、応答ヘッダーの Expires を有効期限に設定し、ブラウザーにページをキャッシュしないよう指示します。同様に、Cache-Control: no-cache はページをキャッシュしないことを意味します。
ブラウザ キャッシュを設定するもう 1 つの方法は、Pragma 応答ヘッダーを設定することです。 Pragma ヘッダーは、ページをキャッシュしないように指示するもので、HTTP/1.0 プロトコルのレガシー ヘッダーです。例:
header("Pragma: no-cache");
応答ヘッダーの設定に加えて、HTML ページでメタ タグを使用することもできるため、いつブラウザを設定できるようになります。ページはキャッシュを読み込みます。例:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Expires" content="0">
このメタ タグは、ページをキャッシュしないようにブラウザに指示します。Content の値は no-cache、no-store、およびMust-revalidate はページをキャッシュしないことを意味します。Pragma の値は、 no-cache はページをキャッシュしないことを意味し、Expires の値 0 はページの有効期限が切れたことを示します。
静的リソース (CSS、JS、画像など) の場合、リンクにランダムな文字列を追加できます。ブラウザは、これらのリソースを要求するたびに新しいコンテンツを取得します。例:
<link rel="stylesheet" href="style.css?v=<?=rand(1, 10000)?>" />
ここの rand 関数は乱数を生成し、それを URL パラメーターに追加します。これにより、このリソースが要求されるたびに新しい URL が生成され、ブラウザーのキャッシュが回避されます。同様に、JS、画像、その他のリソースでも同様のメソッドを使用できます。
概要
キャッシュを生成しないようにブラウザを構成することは、ブラウザのキャッシュによって引き起こされる時期外のコード更新などの問題を回避できるため、Web 開発およびテストにとって非常に重要です。 PHP には、応答ヘッダーを設定するための header 関数が用意されています。HTML のメタ タグを使用してブラウザのキャッシュを設定することもできます。静的リソースにランダムな文字列を追加して、キャッシュを回避することもできます。この記事が、php を学習および使用してブラウザーのキャッシュを構成する際に皆さんに役立つことを願っています。
以上がPHPを使用してブラウザがキャッシュを生成しないように設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。