ホームページ ウェブフロントエンド htmlチュートリアル HTML ファイルはキャッシュされますか?

HTML ファイルはキャッシュされますか?

Feb 19, 2024 pm 01:51 PM
キャッシュ ブラウザ htmlファイル

HTML ファイルはキャッシュされますか?

タイトル: HTML ファイルのキャッシュ メカニズムとコード例

はじめに: Web ページを作成するときに、ブラウザーのキャッシュの問題がよく発生します。この記事では、HTML ファイルのキャッシュ メカニズムを詳細に紹介し、読者がこのメカニズムをよりよく理解して適用できるように、いくつかの具体的なコード例を示します。

1. ブラウザのキャッシュ原理
ブラウザでは、Web ページがアクセスされるたびに、まずキャッシュに Web ページのコピーがあるかどうかを確認します。存在する場合、Web ページのコンテンツはキャッシュから直接取得されます。これがブラウザー キャッシュの基本原理です。ブラウザー キャッシュ メカニズムの利点は、Web ページの読み込み速度を向上させ、ネットワーク リクエストを削減し、帯域幅を節約できることです。

2. HTML キャッシュ方法
HTML ファイルのキャッシュは、次の 2 つの方法で制御できます:

  1. 有効期限とキャッシュ制御
    追加によるHTTP 応答ヘッダーの Expires フィールドと Cache-Control フィールドにより、ブラウザがファイルをキャッシュする時間を制御できます。具体的なサンプル コードは次のとおりです。

    HTTP/1.1 200 OK
    Content-Type: text/html
    Cache-Control: max-age=3600
    Expires: Wed, 04 Aug 2022 08:00:00 GMT
    
    <!DOCTYPE html>
    <html>
     <!-- HTML页面内容 -->
    </html>
    ログイン後にコピー

    上記のサンプル コードでは、Cache-Control フィールドに最大キャッシュ時間 3600 秒 (1 時間) が指定され、Expires フィールドにはキャッシュの有効期限が次のように指定されています。 2022年8月4日、午前8時。

  2. Last-Modified および If-Modified-since
    HTTP 応答ヘッダーに Last-Modified フィールドを追加して、ファイルの最終変更時刻を示します。ブラウザがファイルをキャッシュした後、次回ファイルをリクエストするときに If-Modified-Since フィールドを追加し、最後にキャッシュされたファイルの最終変更時刻をサーバーに送信します。サーバーは、ファイルが更新されたかどうかを判断します。今回は。ファイルが更新されていない場合は、304 Not Modified 応答が返され、ブラウザはキャッシュされたファイルを引き続き使用します。具体的なサンプル コードは次のとおりです。

    HTTP/1.1 200 OK
    Content-Type: text/html
    Last-Modified: Mon, 01 Aug 2022 12:00:00 GMT
    
    <!DOCTYPE html>
    <html>
     <!-- HTML页面内容 -->
    </html>
    ログイン後にコピー

    上記のサンプル コードでは、Last-Modified フィールドにファイルの最終変更時刻が 2022 年 8 月 1 日 12:00 として指定されています。

3. キャッシュ制御戦略
実際のニーズに応じて、ファイルの内容やその他の条件に基づいてさまざまなキャッシュ戦略を策定し、ブラウザーのキャッシュをより適切に制御できます。

  1. 静的ファイルのキャッシュ
    頻繁に変更されない静的ファイルの場合、ブラウザがファイルを永続的にキャッシュしてサーバーへのリクエストを減らすことができるように、キャッシュ時間を長く設定できます。たとえば、CSS、JavaScript、画像などの静的ファイルの場合、キャッシュ時間を 1 年に設定できます。サンプル コードは次のとおりです。

    HTTP/1.1 200 OK
    Content-Type: text/css
    Cache-Control: max-age=31536000
    
    /* CSS文件内容 */
    ログイン後にコピー
  2. 動的ファイル キャッシュ
    頻繁に変更される動的ファイルの場合、ブラウザが確実にファイルを取得できるように、キャッシュ時間を短く制御できます。最新のファイルをタイムリーに提供します。たとえば、動的に生成された HTML ファイルはキャッシュ フィールドを設定できないため、ブラウザは毎回最新バージョンを要求できます。サンプル コードは次のとおりです。

    HTTP/1.1 200 OK
    Content-Type: text/html
    Cache-Control: no-cache, no-store, must-revalidate
    Pragma: no-cache
    Expires: 0
    
    <!DOCTYPE html>
    <html>
     <!-- HTML页面内容 -->
    </html>
    ログイン後にコピー
  3. バージョン管理キャッシュ
    ファイル名または URL にバージョン番号またはタイムスタンプを追加することで、ファイルが更新されたときにファイル名を変更しないようにします。 . ブラウザに新しいファイルであると認識させ、ファイルをリロードします。サンプル コードは次のとおりです。

    <link rel="stylesheet" href="/static/style.css?v=1.0">
    <script src="/static/script.js?t=1627836018"></script>
    ログイン後にコピー

4. 概要
HTML ファイルのキャッシュは、HTTP 応答ヘッダーに対応するフィールドを設定することによって実現されます。キャッシュ時間とポリシーを適切に制御することで、Web ページの読み込み速度とユーザー エクスペリエンスを向上させることができます。実際の開発では、ファイルの内容と特性に基づいて、適切なキャッシュ方法と戦略が選択されます。この記事で提供されているコード例が、読者の HTML キャッシュ メカニズムの理解と使用に役立つことを願っています。

以上がHTML ファイルはキャッシュされますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

グラデーションの背景を持つカードとクーポンのレイアウトに対するギャップ効果を達成する方法は? グラデーションの背景を持つカードとクーポンのレイアウトに対するギャップ効果を達成する方法は? Apr 05, 2025 am 07:48 AM

カードクーポンレイアウトのギャップ効果を実現します。カードクーポンレイアウトを設計するとき、特に背景が勾配である場合、カードクーポンにギャップを追加する必要があることがよくあります...

Webページにローカルにインストールされている「Jingnan Mai Round Body」を正しく表示するにはどうすればよいですか? Webページにローカルにインストールされている「Jingnan Mai Round Body」を正しく表示するにはどうすればよいですか? Apr 05, 2025 pm 10:33 PM

最近、Webページにローカルにインストールされたフォントファイルを使用して、インターネットから無料のフォントをダウンロードし、システムに正常にインストールしました。今...

ネガティブマージンが場合によっては効果がないのはなぜですか?この問題を解決する方法は? ネガティブマージンが場合によっては効果がないのはなぜですか?この問題を解決する方法は? Apr 05, 2025 pm 10:18 PM

なぜマイナスマージンが場合によっては有効にならないのですか?プログラミング中、CSSの負のマージン(負...

CSSを介してサイズ変更シンボルをカスタマイズし、背景色で均一にする方法は? CSSを介してサイズ変更シンボルをカスタマイズし、背景色で均一にする方法は? Apr 05, 2025 pm 02:30 PM

CSSでサイズ変更シンボルをカスタマイズする方法は、背景色で統一されています。毎日の開発では、調整など、ユーザーインターフェイスの詳細をカスタマイズする必要がある状況に遭遇することがよくあります...

CSSとFlexBoxを使用して、さまざまな画面サイズで画像とテキストのレスポンシブレイアウトを実装する方法は? CSSとFlexBoxを使用して、さまざまな画面サイズで画像とテキストのレスポンシブレイアウトを実装する方法は? Apr 05, 2025 pm 06:06 PM

CSSを使用してレスポンシブレイアウトを実装して、Webデザインのさまざまな画面サイズの下でレイアウトの変更を実装する場合、CSS ...

58.com作業ページでリアルタイムアプリケーションと視聴者のデータを取得する方法は? 58.com作業ページでリアルタイムアプリケーションと視聴者のデータを取得する方法は? Apr 05, 2025 am 08:06 AM

クロール中に58.com作業ページの動的データを取得するにはどうすればよいですか? Crawlerツールを使用して58.comの作業ページをrawったら、これに遭遇する可能性があります...

node.jsでHTMLテキストを取得するためにリクエストライブラリを使用する場合、例外をエンコードする理由は何ですか?それを解決する方法は? node.jsでHTMLテキストを取得するためにリクエストライブラリを使用する場合、例外をエンコードする理由は何ですか?それを解決する方法は? Apr 05, 2025 am 07:03 AM

node.js環境でHTMLテキストコンテンツを取得するためにリクエストライブラリを使用する場合のコーディング例外の理由とソリューション。 node.jsを使用する開発プロセス中に、しばしば...

See all articles