目次
1。ブラウザキャッシュ:資産の保存方法をローカルに制御します
2。サービスワーカーキャッシュ:クライアント側の高度なコントロール
3。CDNキャッシング:グローバルに配達をスピードアップします
4.キャッシュ無効化:最も難しい部分
それをすべてまとめる
ホームページ ウェブフロントエンド フロントエンドQ&A フロントエンドキャッシュ戦略:ブラウザからCDNまで

フロントエンドキャッシュ戦略:ブラウザからCDNまで

Jul 31, 2025 am 11:05 AM
cdn フロントエンドキャッシュ

効果的なフロントエンドキャッシュ戦略は、レイヤーで実装する必要があります。1。ブラウザキャッシュは、キャッシュコントロールなどのHTTPヘッダーを介して静的リソースのローカルストレージを制御し、ハッシュと不変のファイルに長い最大年齢(1年など)を設定し、HTMLファイルの再確認を確保するためにノーキャッシュを使用します。 2。サービスワーカーは、PWAおよびサードパーティのリソースに適したキャッシュの優先順位、古い更新、ネットワークの優先度ポリシーなどの高度なキャッシュロジックを実装しますが、貯蔵廃棄物を避けるためにキャッシュコンテンツを慎重に選択する必要があります。 3。CDNキャッシュは、キャッシュの妥当性を管理するために必要な場合、正しいキャッシュ制御ヘッダー、バージョンURL、アクティブクリアリングAPIに依存して、グローバルエッジノードを介してコンテンツ分布を加速します。 4.キャッシュ障害が重要な課題です。バージョンされたURLを最も安全な方法として使用することをお勧めします。CDNのタグクリア機能と短いTTLを動的コンテンツの短いTTLと組み合わせて、時間の有効期限のみに依存しないようにします。全体的な戦略には、HTMLの非キャッシュ、静的リソースの長期キャッシュ、API応答条件キャッシュ、およびサービスワーカースレッドがオフラインアクセスをサポートしながら、建設プロセス、展開パイプライン、キャッシュ構成の共同自動化を確保し、最終的には高速で信頼できるユーザーエクスペリエンスを実現します。

フロントエンドキャッシュ戦略:ブラウザからCDNまで

フロントエンドのパフォーマンスについて話すとき、キャッシュはアーセナルで最も強力なツールの1つです。適切に設計されたキャッシュ戦略は、特に繰り返し訪問者のために、負荷時間を大幅に短縮し、サーバーの負荷を減らし、ユーザーエクスペリエンスを向上させることができます。しかし、効果的なキャッシュは、ヘッダーを設定して1日と呼ぶことだけではありません。複数のレイヤーにまたがっています。ブラウザからCDNまで。各レベルで重要な戦略を分類しましょう。

フロントエンドキャッシュ戦略:ブラウザからCDNまで

1。ブラウザキャッシュ:資産の保存方法をローカルに制御します

ブラウザキャッシュを使用すると、ユーザーは静的資産(CSS、JS、画像など)をローカルに保存できるため、訪問ごとに再ダウンロードする必要はありません。これは、主にHTTPヘッダーを介して制御されます。

キーヘッダー:

フロントエンドキャッシュ戦略:ブラウザからCDNまで
  • Cache-Control :最新のキャッシュ動作の主な指令。
    • max-age :ブラウザは(秒単位)キャッシュバージョンを使用する必要があります。
    • public / private :応答が共有キャッシュ(例えば、CDN)に保存できるのか、それともユーザーのブラウザでのみ保存できるかを示します。
    • no-cacheまたはno-store :強制的に再検証するか、キャッシュを完全に防止します(控えめに使用してください)。
  • ETagまたはLast-Modified :条件付きリクエストに使用されます。ファイルが変更されていない場合、サーバーは304(変更されていない)で応答し、帯域幅を保存します。

ベストプラクティス:

  • バージョンされた静的資産(例: app.a1b2c3d.js )には、長いmax-age (例: max-age=31536000 )を使用します。
  • HTMLファイルを直接キャッシュしないでください。 no-cacheを使用して、各訪問でブラウザが再確認されます。
  • キャッシュバストテクニックを使用します:ファイル名にハッシュ(WebpackまたはVite経由)を含めるので、更新されたファイルは新しいURLを取得します。

例:
Cache-Control: public, max-age=31536000, immutable
これにより、ブラウザと仲介者が1年間資産をキャッシュし、再評価しないようにします。

フロントエンドキャッシュ戦略:ブラウザからCDNまで

2。サービスワーカーキャッシュ:クライアント側の高度なコントロール

サービスワーカーは、ネットワークリクエストを傍受し、HTTPヘッダーができることを超えてカスタムキャッシュロジックを実装できます。

一般的な戦略:

  • 最初にキャッシュ、ネットワークフォールバック:静的資産に最適です。利用可能な場合はキャッシュからサーブします。そうでない場合は、ネットワークからフェッチします。
  • Stale-while-revalidate :キャッシュバージョンをすぐに返してから、バックグラウンドで更新します。
  • ネットワーク最初に、キャッシュフォールバック:動的コンテンツに役立ちます。最初にネットワークを試し、オフラインの場合はキャッシュに戻ります。

ユースケース:

  • オフラインで動作するプログレッシブWebアプリ(PWAS)。
  • CDNコントロールの下にないサードパーティの資産(たとえば、フォント、API)をキャッシュします。
  • 有効期限と更新に対する細かい制御。

ヒント:すべてをキャッシュしないでください。選択してください - メディアファイルを大きくするか、まれに使用されていないルートは、ストレージを無駄にする可能性があります。


3。CDNキャッシング:グローバルに配達をスピードアップします

コンテンツ配信ネットワーク(CDN)は、世界中に配布されているサーバーでコンテンツをキャッシュします。ユーザーがファイルを要求すると、最寄りのエッジの場所からファイルを取得します。

それがどのように機能するか:

  • 最初のユーザーは、 style.css →cdn fite from ostirimsをリクエストし、それをキャッシュし、それを提供します。
  • 同じ地域の後続のユーザーは、エッジキャッシュからそれを取得します。

最適化のヒント:

  • Origin Serverから適切なCache-Controlヘッダーを設定します。CDNSは、デフォルトでこれらを尊重します。
  • バージョンされたURL(Eg、 /v1.2.0/app.js )を使用して、キャッシュの無効化の問題を回避します。
  • 更新を強制する必要がある場合は、CDNパージ/無効化APIを活用します。
  • 複数のレベルでのキャッシュ:エッジでの静的資産、短いTTLを備えた動的コンテンツまたはまったくないか。

Advanced:一部のCDNSは、キャッシュキーのカスタマイズ(例えば、特定のクエリパラメーションを無視する)と原点シールドをサポートして、原点負荷を減らします。


4.キャッシュ無効化:最も難しい部分

強固な無効化計画がなければ、キャッシュ戦略は完了しません。キャッシングは簡単です。キャッシュを止めるときは困難です。

戦略:

  • バージョンされたURL :最も安全な方法。コンテンツが変更されたら、ファイル名またはパスを変更します。
  • キャッシュタグまたはパージAPI :いくつかのCDN(例えば、CloudFlare、Quaply)を使用して、特定のタグ(「ホームページ」など)ですべてをパージします。
  • 動的コンテンツの短いTTL :一部のコンテンツは少し古くなるが、頻繁に更新されることを受け入れます。

重要な更新のために、時間ベースの有効期限だけに依存しないでください。バージョン化と組み合わせます。


それをすべてまとめる

堅牢なフロントエンドキャッシュ戦略がこれらのアプローチを層にします。

  • HTML :キャッシュや短いTTLの再検証なし( ETag経由)。
  • ハッシュ付きJS/CSS/画像:長期ブラウザとCDNキャッシング( max-age=1yrimmutable )。
  • API応答ETagまたは短いTTLを使用した条件付きキャッシュ。
  • オフラインサポート:コアアプリシェルと重要な資産のサービスワーカー。

キーはアラインメントです。ビルドプロセス、ヘッダー、CDN構成、および展開パイプラインはすべて一緒に機能する必要があります。 CI/CDでキャッシュバストを自動化し、CDNのキャッシュヒット率を監視します。


キャッシュはすべてのサイズに適合しているわけではありませんが、ブラウザポリシー、サービスワーカー、CDNインテリジェンスの適切な組み合わせにより、高速で信頼できるエクスペリエンスを毎回提供できます。

以上がフロントエンドキャッシュ戦略:ブラウザからCDNまでの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ホットトピック

登録不要の CDN アクセラレーションで最も優れているものはどれですか? 登録不要の CDN アクセラレーションで最も優れているものはどれですか? Jun 28, 2023 pm 04:42 PM

登録不要の最高の CDN アクセラレーションは Cloudflare です。Cloudflare は、グローバルな DDoS 攻撃保護と Web アプリケーション セキュリティ サービスを提供し、Web サイトを悪意のある攻撃から保護します。

Vue での高速化のために CDN を構成して使用する方法 Vue での高速化のために CDN を構成して使用する方法 Oct 15, 2023 pm 02:31 PM

Vue で高速化するために CDN を構成および使用する方法 Vue プロジェクトでは、CDN (ContentdeliveryNetwork) を使用すると、Web ページの読み込みを効果的に高速化し、ユーザー エクスペリエンスを向上させることができます。 CDN テクノロジーは、静的リソース ファイルを世界中のさまざまな場所にあるサーバーに分散し、ユーザーが最も近いサーバーからリソースを迅速に取得できるようにし、データ送信時間と遅延を削減します。以下では、Vue で高速化するための CDN の設定と使用方法を詳しく紹介します。まず、

PHP を使用した CDN アクセラレーションの方法とアプリケーション PHP を使用した CDN アクセラレーションの方法とアプリケーション Jun 18, 2023 pm 06:42 PM

インターネットの急速な発展に伴い、Web サイトへのアクセス速度がますます注目されており、CDN (ContentDeliverNetwork) は Web サイトへのアクセスを高速化するために現在最も一般的に使用されているテクノロジーの 1 つです。 CDN アクセラレーションでは、さまざまな場所に分散された複数のサーバーを使用してユーザーのリクエストをユーザーに近いサーバーに転送し、Web サイトへのアクセスを高速化します。 PHP は、CDN アクセラレーションの実装で一般的に使用される開発言語です。この記事では、PHPを使用してCDN高速化を実装し、実際に適用する方法を紹介します。

Baidu ネットワーク ディスク クラッシュの問題は解決されました。お詫び申し上げます。修正されました。もう一度ログインしてください。 Baidu ネットワーク ディスク クラッシュの問題は解決されました。お詫び申し上げます。修正されました。もう一度ログインしてください。 Aug 10, 2023 pm 02:25 PM

同サイトの8月9日16時の報道によると、百度ネットディスクで使用中に動画が再生できなくなるなど、百度の製品に大規模な障害が発生しており、他企業のユーザーからも開けない、クラッシュするなどの報告があったという。当サイトが調査した結果、この問題はBaidu CDNサービスの異常が原因であることが判明し、Baidu Netdiskは「この問題については大変申し訳なく、早急に修復中です。今しばらくお待ちいただくとともに、ご理解を賜りますようお願いいたします。」と回答しました。数分後、Baidu Netdisk は、問題は解決されましたと返信しました。もう一度ログインしてください。サポートに感謝します。CDN (コンテンツ配信ネットワーク) は、オリジン サイトのコンテンツを世界中のアクセラレーション ノードに配信するため、ユーザーは次のことをスケジュールできます。 Web サイトのリソースをリクエストするときに最も近いアクセラレーション ノードを使用するため、必要なコンテンツを直接取得し、ユーザーの Web サイト リソースへのアクセスが向上します。

Java コード例: Alibaba Cloud CDN インターフェイスを使用して Web ページを高速化する Java コード例: Alibaba Cloud CDN インターフェイスを使用して Web ページを高速化する Jul 06, 2023 am 08:09 AM

Java コード例: Alibaba Cloud CDN インターフェイスを使用して Web ページの高速化を実現する はじめに: インターネットの急速な発展の時代において、Web ページの読み込み速度は、ユーザーが Web サイトを評価するための重要な評価指標となっています。 Web サイトのアクセス速度とユーザー エクスペリエンスを向上させるために、多くの Web サイトは Web ページ アクセラレーション サービスの使用を選択します。 Alibaba Cloud はさまざまな CDN サービスを提供し、対応する JavaSDK を提供します。これにより、Alibaba Cloud CDN インターフェイスを Java に簡単に統合して Web ページを高速化できます。この記事ではAlibaba Cloud CDNの使い方を紹介します。

Python Web サイトのアクセス速度を最適化し、CDN やブラウザー キャッシュなどの静的リソース アクセラレーション手法を使用します。 Python Web サイトのアクセス速度を最適化し、CDN やブラウザー キャッシュなどの静的リソース アクセラレーション手法を使用します。 Aug 04, 2023 pm 05:09 PM

Python Web サイトのアクセス速度を最適化し、CDN やブラウザー キャッシュなどの静的リソース アクセラレーション方法を使用する今日のインターネット時代、ユーザーの Web サイト アクセス速度に対する要求はますます高まっています。応答性の高い Web サイトはより優れたユーザー エクスペリエンスを提供し、ユーザーの定着率と満足度を向上させることができます。 PythonによるWebサイト開発では、CDN(コンテンツ配信ネットワーク)やブラウザキャッシュなどの静的リソース高速化手法を利用することで、Webサイトのアクセス速度を大幅に向上させることができます。 CDN は、静的リソースをユーザーから離れた場所に保存する分散サーバー ネットワークです。

CDNとは何ですか CDNとは何ですか Aug 10, 2023 pm 04:28 PM

CDN は Content Delivery Network の略で、世界中のサーバー ノードにコンテンツを配信して、コンテンツの送信速度を向上させ、ネットワーク遅延を軽減し、サーバー負荷を軽減し、Web サイトの信頼性を向上させ、攻撃に対抗する分散ネットワーク アーキテクチャです。必要なコンテンツにより迅速にアクセスできるため、ユーザー エクスペリエンスが向上し、Web サイトのパフォーマンスとセキュリティも向上します。

Nginx リバース プロキシと proxy_cache キャッシュを使用して CDN サーバーを構築する方法 Nginx リバース プロキシと proxy_cache キャッシュを使用して CDN サーバーを構築する方法 May 12, 2023 pm 05:43 PM

問題が発生しました: モバイル ユーザーが Web サーバー www.osyunwei.com にアクセスするのが非常に遅いです 解決策: 1. nginx リバース プロキシ サーバーをモバイル コンピューター ルームに配置します 2. ドメイン名 DNS によるインテリジェントな解決。ユーザーが www.osyunwei.com にアクセスする nginx リバース プロキシ サーバーに解決 3. nginx リバース プロキシ サーバーと Web サーバー間の専用線接続 手順: 1. Web サーバー回線: Telecom IP: 192.168.21.129 ドメイン名: www.osyunwei.com 2 .nginx リバースプロキシサーバー行: モバイルシステム: centos6.2ip: 192.168.21.164vi/e

See all articles