Web ブラウザのキャッシュ メカニズムとは何ですか? ブラウザのキャッシュを制御およびクリアするにはどうすればよいですか?


⭐コラム紹介

フロントエンド エントリーの旅: Web 開発の素晴らしい世界を探索しましょうフロントエンド エントリー ジャーニーへようこそ! ご興味がございましたら、このコラムを購読してください。このコラムは、Web 開発に興味があり、フロントエンド分野に参入したばかりの方を対象に作成されています。まったくの初心者であっても、ある程度の基本知識がある開発者であっても、ここでは体系的でフレンドリーな学習プラットフォームを提供します。このコラムでは、フロントエンドの知識やよくある質問への回答を厳選してQ&A形式で毎日更新していきます。Q&A 形式を通じて、フロントエンド テクノロジーに関する読者の質問により直接的に回答し、皆さんが徐々に強固な基礎を確立できるようにしたいと考えています。HTML、CSS、JavaScript、またはさまざまな一般的なフレームワークやツールのいずれについても、シンプルかつわかりやすい方法で概念を説明し、学んだ内容を定着させるための実践的な例と演習を提供します。同時に、フロントエンド開発におけるさまざまなテクノロジーをより深く理解し、適用するのに役立ついくつかの実践的なヒントとベスト プラクティスも共有します。

ここに画像の説明を挿入します

それだけでなく、学んだ知識を実際の開発に適用できるように、実践的なプロジェクトのチュートリアルも定期的に開始します。実際のプロジェクトの実践を通じて、フロントエンド開発のワークフローと方法論をより深く理解し、問題を解決し、自主的に開発する能力を養うことができます。継続的な蓄積と実践によってのみ、真のフロントエンド開発技術を習得できると私たちは信じています。さあ、挑戦の準備をして、このフロントエンドエントリーの旅に勇敢に乗り出しましょう! あなたが転職、スキルアップ、または個人的な興味の実現を求めている場合でも、私たちは最高の学習リソースとサポートを提供することに専念しています。一緒に Web 開発の素晴らしい世界を探検しましょう! フロントエンドのエントリージャーニーに参加して、優れたフロントエンド開発者になりましょう! フロントエンドの旅を始めましょう。下の図は、このコラムに加えてブロガーが出力している他のコラムを紹介しています。(下の図をスキップして、今日の本文を始めましょう!!!)

ここに画像の説明を挿入します


⭐ Webブラウザのキャッシュメカニズム

Web ブラウザのキャッシュ メカニズムは、Web ページのリソース (HTML、CSS、JavaScript、画像など) をローカル ストレージに保存し、次回アクセスしたときにページ コンテンツをより速くロードしてレンダリングできるようにするテクノロジーです。同じページが作成されます。キャッシュは、Web サイトのパフォーマンスとユーザー エクスペリエンスを向上させ、サーバー上のリクエストの負荷を軽減します。

キャッシュは主に 2 つのタイプに分類できます。

  1. ブラウザ キャッシュ: ブラウザは、ダウンロードしたリソースを自動的にローカルに保存するため、後で同じページにアクセスしたときに、サーバーから再度ダウンロードすることなく、これらのリソースを直接使用できます。

  2. プロキシ サーバー キャッシュ: プロキシ サーバー (CDN、コンテンツ配信ネットワークなど) も Web サイトのリソースをキャッシュし、ユーザーから遠く離れたサーバーの負荷を軽減し、リソースの応答を高速化することができます。


⭐ ブラウザのキャッシュの仕組み

ブラウザーのキャッシュの仕組みには、次の重要な概念が含まれます。

  • キャッシュ識別子: 各リソースには一意のキャッシュ識別子 (通常はリソースの URL) があります。

  • キャッシュ ステータス: ブラウザはキャッシュ ステータスをチェックして、キャッシュを使用するかどうかを決定します。ステータスには次のものが含まれます。

    • Uncached : リソースはキャッシュされていません。
    • サーバーから取得 (古い) : リソースはキャッシュされていますが、有効期限が切れているか、再検証が必要である可能性があります。
    • 有効なキャッシュ (有効) : リソースはキャッシュされており、まだ有効であり、キャッシュから直接ロードできます。
  • Cache-Control : HTTP 応答ヘッダーのフィールドは、Cache-Controlキャッシュできるかどうか、キャッシュの有効期間など、リソースのキャッシュ動作を指定するために使用されます。

  • キャッシュの場所: ブラウザは、リソースの頻度とサイズに応じて、メモリ キャッシュ、ディスク キャッシュなどのさまざまな場所にキャッシュされたリソースを保存できます。


⭐ ブラウザキャッシュの制御とクリア

ブラウザのキャッシュの制御とクリアは、通常、HTTP ヘッダーとブラウザの設定によって行われます。

キャッシュの制御

1.Cache-Controlヘッダーを使用する

サーバーの HTTP 応答にCache-Controlヘッダーを設定することで、ブラウザのキャッシュ動作を制御できます。一般的なCache-Control指示には次のようなものがあります。

  • max-age: キャッシュ内のリソースの最大有効時間 (秒単位) を指定します。
  • no-cache: ブラウザーはキャッシュされたバージョンを直接使用せず、代わりに検証リクエストを送信するように要求します。
  • no-store: キャッシュを無効にし、ブラウザーがリソースをキャッシュすることを許可しません。
Cache-Control: max-age=3600, public

2. 用途ETagLast-Modifiedヘッダー

サーバーはETag、 およびLast-Modifiedヘッダーを使用してリソースの新鮮さを確認できます。ブラウザーは、後続のリクエストでIf-None-Matchとヘッダーをサーバーに送信してIf-Modified-Since、リソースが変更されたかどうかを確認できます。変更が発生していない場合、サーバーは304 Not Modified応答を返すことができ、ブラウザはキャッシュされたバージョンを引き続き使用します。


⭐ キャッシュをクリアする

ユーザーと開発者は、次の操作を行ってブラウザのキャッシュをクリアできます。

1. ユーザーがキャッシュをクリアする

  • ブラウザのキャッシュを手動でクリアする: ユーザーは、ブラウザの設定インターフェイスを通じてキャッシュを手動でクリアできます。

  • ショートカット キーを使用する: ほとんどのブラウザでは、ユーザーはショートカット キーの組み合わせを使用してキャッシュをクリアできます。たとえば、Google Chrome では、Ctrl + Shift + Delete(Windows/Linux) またはCommand + Shift + Delete(Mac) を押して、閲覧データのクリア オプションを開くことができます。

  • 自動クリア設定: 一部のブラウザでは、ブラウザを閉じるたびにキャッシュをクリアするなど、キャッシュを自動的にクリアするルールをユーザーが設定できます。

2. 開発者の管理

開発者は次の方法でブラウザのキャッシュを制御できます。

  • リソース URL の変更: リソース URL にクエリ パラメーターまたはファイル名ハッシュを追加することで、ブラウザーにリソースを強制的に再ダウンロードさせます。たとえば、style.css?v=2またはscript.abc123.js

  • Cache-Controlヘッダーの変更:サーバー側のCache-Controlヘッダーを変更して、ブラウザーがリソースをキャッシュまたは再検証しないようにキャッシュ ポリシーを変更します。

  • Service Worker の使用: Service Worker は、オフライン キャッシュや動的キャッシュ戦略など、Web アプリケーションでのきめ細かいキャッシュ制御を可能にするブラウザー機能です。

つまり、Web ブラウザーのキャッシュ メカニズムは、パフォーマンスの向上とサーバーの負荷の軽減にとって重要な部分です。開発者は HTTP 応答ヘッダーを設定することでキャッシュ ポリシーを制御できますが、ユーザーはブラウザ設定を通じて手動でキャッシュをクリアして、最新の Web コンテンツを確実に取得できます。Web アプリケーションを開発および保守するときは、キャッシュ メカニズムを理解し、適切に利用することが重要です。


⭐最後に書いてください

フロントエンド初心者、フロントエンドを学んだことがないけどフロントエンドに興味がある人、もっと自分をアピールして展開したいバックエンド学生など、幅広い読者に向けたコラムです。面接の過程でフロントエンドの知識ポイントがいくつか出てくるので、フロントエンドの基礎を身につけてこのコラムに従えば、抜け漏れのチェックや穴埋めにも大いに役立ちます。コンテンツの出力、記事に不備がある場合は、ホームページの左側からご連絡ください。一緒に進歩していきましょう。同時に、いくつかのコラムも皆さんにお勧めします。興味のあるパートナーは購読できます:以下のコラムに加えて、私のホームページにアクセスして他のコラムもご覧ください。

フロントエンド ゲーム (無料)このコラムでは、HTML、CSS、JavaScript の基礎知識を活用して、創造性と楽しさに満ちた世界へあなたを誘い、さまざまな興味深いページ ゲームを一緒に構築していきます。初心者でも、フロントエンド開発の経験がある人でも、このコラムはあなたのためのものです。基本から始めて、ページ ゲームを構築するために必要なスキルについて説明します。実践的なケースと演習を通じて、HTML を使用してページ構造を構築する方法、CSS を使用してゲーム インターフェイスを美しくする方法、および JavaScript を使用してゲームにインタラクティブで動的な効果を追加する方法を学びます。このコラムでは、迷路ゲーム、レンガ崩し、スネーク、マインスイーパー、電卓、飛行機戦闘、三目並べ、パズル、迷路など、さまざまなタイプのミニゲームを取り上げます。各プロジェクトでは、詳細な説明とコード例を使用して、簡潔かつ明確な手順で構築プロセスをガイドします。同時に、ページのパフォーマンスとユーザー エクスペリエンスの向上に役立つ最適化のヒントとベスト プラクティスも共有します。フロントエンド スキルを発揮するための興味深いプロジェクトを探している場合でも、ページ ゲーム開発に興味がある場合でも、フロントエンド ゲームのコラムが最良の選択となるでしょう。クリックしてフロントエンド ゲームのコラムを購読します

ここに画像の説明を挿入します

Vue3 透明チュートリアル【ゼロからイチまで】(有料) Vue3 透明チュートリアルへようこそ!このコラムは、Vue3 に関する総合的な技術知識を皆様に提供することを目的としています。Vue2 の経験がある場合、このコラムは Vue3 の中心的な概念と使用法を習得するのに役立ちます。ゼロから始めて、完全な Vue アプリケーションを構築する方法を段階的にガイドします。実践的なケースと演習を通じて、Vue3 のテンプレート構文、コンポーネント開発、状態管理、ルーティング、その他の機能の使用方法を学びます。また、Vue3 の新機能をよりよく理解して適用できるように、Composition API や Teleport などのいくつかの高度な機能も紹介します。このコラムでは、詳細な説明とサンプルコードを使用して、各プロジェクトを簡潔かつ明確な手順でガイドします。同時に、困難を克服し、開発効率を向上させるために、Vue3 開発におけるいくつかの一般的な問題と解決策も共有します。Vue3 を詳しく学びたい場合でも、フロントエンド プロジェクトを構築するための包括的なガイドが必要な場合でも、Vue3 の徹底したチュートリアルのコラムは、あなたにとって不可欠なリソースとなるでしょう。クリックして Vue3 透過チュートリアル [ゼロから 1 まで] コラムを購読します

ここに画像の説明を挿入します

TypeScript 入門ガイド (無料) は、 TypeScript 関連テクノロジをすぐに始めてマスターできるように設計されたコラムです。簡潔で明確な言語と豊富なサンプルコードを通じて、TypeScript の基本概念、構文、機能を詳しく説明します。初心者でも経験豊富な開発者でも、ここで自分に合った学習パスを見つけることができます。型アノテーション、インターフェイス、クラスなどのコア機能から、モジュール開発、ツール構成、一般的なフロントエンド フレームワークとの統合まで、あらゆる側面を包括的にカバーします。このコラムを読むことで、JavaScript コードの信頼性と保守性が向上し、プロジェクトのコード品質と開発効率が向上します。この刺激的で挑戦的な TypeScript の旅に一緒に乗り出しましょう! クリックして TypeScript 入門ガイドのコラムを購読します

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/JHXL_/article/details/132941856