目次
アプリケーション キャッシュとは何ですか?
ブラウザのサポート
html5 キャッシュ マニフェスト インスタンス
<!DOCTYPE HTML><html manifest="demo.appcache"><body>The content of the document......</body></html>
ログイン後にコピー
" >
<!DOCTYPE HTML><html manifest="demo.appcache"><body>The content of the document......</body></html>
ログイン後にコピー
CACHE MANIFEST/theme.css/logo.gif/main.js
ログイン後にコピー
" >
CACHE MANIFEST/theme.css/logo.gif/main.js
ログイン後にコピー
NETWORK:*
ログイン後にコピー
" >
NETWORK:*
ログイン後にコピー
实例 - 完整的 Manifest 文件
关于应用程序缓存的注释
ホームページ ウェブフロントエンド htmlチュートリアル HTML 5_html/css_WEB-ITnose のアプリケーション キャッシュ実装に関する Webkit の調査

HTML 5_html/css_WEB-ITnose のアプリケーション キャッシュ実装に関する Webkit の調査

Jun 24, 2016 am 11:49 AM

仕事の関係で、しばらく ApplicationCache について勉強しています。まず、それに関連する SQL DB テーブルの基本的な概念をいくつか紹介します。

  • CacheGroups: html、css、js、image などのリソースのセットであり、各 CacheGroups テーブルに含まれています。キャッシュ アイテムには独自の ID と対応するマニフェスト URL があります。
  • CacheEntries、CacheResources: これら 2 つのテーブルには、HTTP ヘッダー、MIME タイプなど、いくつかのリソースのメタデータ (metadta) が保存されます。
  • CacheResourcesData: このテーブルは、各リソースを BLOB 形式で保存します。
  • キャッシュ: このテーブルには各リソースのサイズが保存されます。
  • Webkit/Source/WebCore/Loader/AppCache/ ディレクトリに、ApplicationCacheStorageXXX の実装があります。 Webkit をコンパイルするときに、オフライン キャッシュ オプションをオンにすると、HTML5 アプリ キャッシュ機能が有効になり、ユーザーが指定したキャッシュ ディレクトリに ApplicationCache.db という名前の SQL DB ファイルが生成されます。これにより、マニフェスト ファイルを Web 上に配置するときに、どのファイルをキャッシュする必要があるか、またそれらのファイルをキャッシュする必要がない場合は、Webkit のローダーがマニフェストの説明に基づいてこのファイルにリソースを保存するかどうか、および次のようなリソースをロードするかどうかを決定するために使用されます。この DB から画像を取得することで、ネットワークからのリクエストを回避し、コストを大幅に節約できます。


    詳細については、w3school.com.cn の記事を参照してください:

    HTML5 を使用すると、キャッシュ マニフェスト ファイルを作成することで、Web アプリケーションのオフライン バージョンを簡単に作成できます。

    アプリケーション キャッシュとは何ですか?

    HTML5 ではアプリケーション キャッシュが導入されており、インターネット接続がなくても Web アプリケーションをキャッシュしてアクセスできるようになります。

    アプリケーション キャッシュは、アプリに 3 つの利点をもたらします:

  • オフライン ブラウジング - ユーザーはオフラインでもアプリを使用できます
  • 速度 - キャッシュされたリソースの読み込みが速くなります
  • サーバー負荷の軽減 - ブラウザはサーバーからのみダウンロードします 更新または変更されましたリソース。
  • ブラウザのサポート

    Internet Explorer を除くすべての主要なブラウザはアプリケーション キャッシュをサポートしています。

    html5 キャッシュ マニフェスト インスタンス

    以下の例は、キャッシュ マニフェストを含む HTML ドキュメントを示しています (オフライン ブラウズ用):

    アプリケーションのキャッシュについては、マニフェストを含めてくださいドキュメントの タグ内の属性:

    <!DOCTYPE HTML><html manifest="demo.appcache"><body>The content of the document......</body></html>
    ログイン後にコピー

    マニフェストが指定された各ページは、ユーザーがアクセスするとキャッシュされます。マニフェスト属性が指定されていない場合、ページはキャッシュされません (マニフェスト ファイルで直接指定されていない限り)。

    マニフェスト ファイルの推奨ファイル拡張子は「.appcache」です。

    マニフェスト ファイルは正しい MIME タイプ (「text/cache-manifest」) で構成する必要があることに注意してください。 Web サーバー上で設定する必要があります。

    マニフェスト ファイル

    マニフェスト ファイルは、何がキャッシュされているか (何がキャッシュされていないのか) をブラウザーに伝える単純なテキスト ファイルです。

    マニフェスト ファイルは 3 つの部分に分けることができます:

    キャッシュ マニフェスト - この見出しの下にリストされているファイルは最初のダウンロード後にキャッシュされます

    ネットワーク - この見出しの下にリストされているファイルはサーバーへの接続が必要であり、キャッシュされません

    FALLBACK - この見出しの下にリストされているファイルは、ページがアクセスできない場合 (404 ページなど) のフォールバック ページを指定します

    CACHE MANIFEST

    最初の行 CACHE MANIFEST は必須です:
  • <!DOCTYPE HTML><html manifest="demo.appcache">...</html>
    ログイン後にコピー
  • 上記 マニフェスト ファイルには 3 つのリソースがリストされています: CSS ファイル、GIF 画像、および JavaScript ファイル。マニフェスト ファイルが読み込まれると、ブラウザはこれら 3 つのファイルを Web サイトのルート ディレクトリからダウンロードします。その後、ユーザーがインターネットから切断しても、これらのリソースは引き続き使用できます。
  • NETWORK
  • 以下の NETWORK セクションでは、ファイル "login.asp" がキャッシュされず、オフラインでは使用できないことを指定します:

    CACHE MANIFEST/theme.css/logo.gif/main.js
    ログイン後にコピー

    アスタリスクを使用して、他のすべてのリソース/ファイルがインターネット接続を必要とすることを示すことができます:

    NETWORK:login.asp
    ログイン後にコピー
    FALLBACK

    次の FALLBACK サブセクションでは、インターネット接続を確立できない場合、/html5/ ディレクトリ内のすべてのファイルが "offline.html" に置き換えられることを指定します。

    NETWORK:*
    ログイン後にコピー

    注: 最初の URI はリソース、2 番目の URI はリソースです。はフォールバックです。

    キャッシュの更新

    アプリがキャッシュされると、次の状態になるまでキャッシュされたままになります:

  • 用户清空浏览器缓存
  • manifest 文件被修改(参阅下面的提示)
  • 由程序来更新应用缓存
  • 实例 - 完整的 Manifest 文件

    CACHE MANIFEST# 2012-02-21 v1.0.0/theme.css/logo.gif/main.jsNETWORK:login.aspFALLBACK:/html5/ /404.html
    ログイン後にコピー

    重要的提示:以 "#" 开头的是注释行,但也可满足其他用途。应用的缓存会在其 manifest 文件更改时被更新。如果您编辑了一幅图片,或者修改了一个 JavaScript 函数,这些改变都不会被重新缓存。更新注释行中的日期和版本号是一种使浏览器重新缓存文件的办法。

    关于应用程序缓存的注释

    请留心缓存的内容。

    一旦文件被缓存,则浏览器会继续展示已缓存的版本,即使您修改了服务器上的文件。为了确保浏览器更新缓存,您需要更新 manifest 文件。

    注释:浏览器对缓存数据的容量限制可能不太一样(某些浏览器设置的限制是每个站点 5MB)。


    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

    &lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

    この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

    &lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

    この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

    HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

    記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

    &lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

    この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

    HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

    この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

    HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? Mar 12, 2025 pm 04:05 PM

    この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

    ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

    この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

    &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

    この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

    See all articles