ホームページ  >  記事  >  バックエンド開発  >  PHPを使用してブラウザがキャッシュを生成しないように設定する方法

PHPを使用してブラウザがキャッシュを生成しないように設定する方法

PHPz
PHPzオリジナル
2023-04-25 17:36:25675ブラウズ

Web アプリケーションを開発するとき、通常、ブラウザーのキャッシュの問題が発生します。開発およびテストのプロセス中、ブラウザーのキャッシュが存在するため、コードへの変更がすぐに反映されない可能性があり、開発およびテストに多大な不便が生じます。

以下、phpを使ってブラウザにキャッシュを生成しないように設定する方法を紹介します。

  1. 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 応答ヘッダーの設定

ブラウザ キャッシュを設定するもう 1 つの方法は、Pragma 応答ヘッダーを設定することです。 Pragma ヘッダーは、ページをキャッシュしないように指示するもので、HTTP/1.0 プロトコルのレガシー ヘッダーです。例:

header("Pragma: no-cache");
  1. HTML タグの設定

応答ヘッダーの設定に加えて、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 はページの有効期限が切れたことを示します。

  1. 静的リソースはランダムな文字列を追加します

静的リソース (CSS、JS、画像など) の場合、リンクにランダムな文字列を追加できます。ブラウザは、これらのリソースを要求するたびに新しいコンテンツを取得します。例:

<link rel="stylesheet" href="style.css?v=<?=rand(1, 10000)?>" />

ここの rand 関数は乱数を生成し、それを URL パラメーターに追加します。これにより、このリソースが要求されるたびに新しい URL が生成され、ブラウザーのキャッシュが回避されます。同様に、JS、画像、その他のリソースでも同様のメソッドを使用できます。

概要

キャッシュを生成しないようにブラウザを構成することは、ブラウザのキャッシュによって引き起こされる時期外のコード更新などの問題を回避できるため、Web 開発およびテストにとって非常に重要です。 PHP には、応答ヘッダーを設定するための header 関数が用意されています。HTML のメタ タグを使用してブラウザのキャッシュを設定することもできます。静的リソースにランダムな文字列を追加して、キャッシュを回避することもできます。この記事が、php を学習および使用してブラウザーのキャッシュを構成する際に皆さんに役立つことを願っています。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。