HTTP キャッシュ ヘッダーはどのようにして PHP Web サイトのパフォーマンスを最適化できるのでしょうか?

Susan Sarandon
リリース: 2024-11-04 05:37:29
オリジナル
607 人が閲覧しました

How can HTTP Cache Headers Optimize PHP Website Performance?

HTTP キャッシュ ヘッダーを使用して PHP Web サイトのパフォーマンスを最適化する

高度なキャッシュ システムとフレームワークが利用できるにもかかわらず、基本的な HTTP の実装が必要な場合があります。ヘッダーをキャッシュしてウェブサイトのパフォーマンスを向上させます。特に特定のキャッシュ機能が欠如している PHP 5.1.0 Web サイトの場合、ヘッダーは重要な役割を果たします。

PHP Web サイトの効果的なキャッシュ ヘッダー

効果的なキャッシュを有効にするには、次のことを考慮してください。次のヘッダー:

  • Last-Modified: ドキュメントの最終更新日を設定します。ブラウザは、この日付を使用して、コンテンツが最後の訪問以降に変更されたかどうかを判断します。
  • ETag: ドキュメントの一意の識別子を指定し、ブラウザが最新バージョンをすでに持っているかどうかを確認できるようにします。
  • Expires: 絶対有効期限を設定します。
  • Cache-Control: ブラウザがドキュメントをキャッシュする方法と期間を制御します。誰でもドキュメントをキャッシュできるようにする「パブリック」に設定することも、個々のユーザーにキャッシュを制限する「プライベート」に設定することもできます。パブリック キャッシュを許可せずに、より長いキャッシュ長が必要な場合は、「private_no_expire」の使用を検討するとよいでしょう。

条件付きリクエストの実装

キャッシュ ヘッダーの設定に加えて、「If-Modified-Since」や「If-None-Match」などの条件付きリクエストを処理することが不可欠です。これらのリクエストにより、ブラウザはドキュメントが特定の日付以降に変更されたかどうか、または最後にアクセスしてから ETag が変更されたかどうかを確認できます。

コンテンツが変更されていない場合は、「304 Not Modified」ステータスを返すことができます。このコードは、ブラウザがキャッシュされたバージョンを引き続き使用できることを示します。この効率的なアプローチにより、不必要なダウンロードが最小限に抑えられ、Web サイトの読み込みが高速化されます。

次の PHP コード サンプルは、条件付きリクエストを処理する方法を示しています。

<code class="php">$timestamp = /* PHP script to generate a unique timestamp */;
$tsstring = gmdate('D, d M Y H:i:s ', $timestamp) . 'GMT';
$etag = $language . $timestamp;

$if_modified_since = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? $_SERVER['HTTP_IF_MODIFIED_SINCE'] : false;
$if_none_match = isset($_SERVER['HTTP_IF_NONE_MATCH']) ? $_SERVER['HTTP_IF_NONE_MATCH'] : false;
if ((($if_none_match &amp;&amp; $if_none_match == $etag) || (!$if_none_match)) &amp;&amp;
    ($if_modified_since &amp;&amp; $if_modified_since == $tsstring))
{
    header('HTTP/1.1 304 Not Modified');
    exit();
}
else
{
    header("Last-Modified: $tsstring");
    header("ETag: \"{$etag}\"");
}</code>
ログイン後にコピー

キャッシュ ヘッダーを実装し、条件付きリクエストを効果的に処理することで、 PHP Web サイトのパフォーマンスとユーザー エクスペリエンスを大幅に向上させることができます。

以上がHTTP キャッシュ ヘッダーはどのようにして PHP Web サイトのパフォーマンスを最適化できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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