興味深いオフラインストレージ

2193 ワード

興味深いオフラインストレージ
一.簡単に話す
        最近ずっと実習の準備をしているので、概念を復習している間に、私は偶然面白い技術点を見つけて、わざわざみんなと分かち合いに来ました.Web Appの発展に伴い、現在多くのモバイル端末AppがHTML 5方式で開発されているが、問題はそれに伴い、一部のHybridApp以外のWeb Appはブラウザを通じてアクセスされている.ブラウザを通じてアクセスすると、インターネットを通じて要求を送信しなければならない.これにより、ユーザーがオフラインでアプリを使用できなくなる.同時にAppではすべてのデータが常に変更されるわけではなく、毎回サーバにリクエストを送信する必要もないので、このオフラインキャッシュという新しい属性が誕生しました.オフラインストレージにより、ローカルにオフラインで保存する必要があるファイルをmanifestプロファイルにリストすることで、上記の問題を解決できます.これにより、オフラインの場合でも、ユーザーはAppを正常に使用することができます.
二.オフライン保存の食べ方
        次にmanifest(オフラインキャッシュ)をプロパティとオフラインキャッシュファイルの内容に分けて、簡単にお話しします.
2.1  mainfestプロパティ


...
html>

2.2  chache.manifestのファイル内容
CACHE MANIFEST
#v0.11

CACHE://             ,    manifest             ,              。

js/app.js
css/style.css

NETWORK://                         
resourse/logo.png

FALLBACK:
/ /offline.html//             ,              ,                              ,      offline.html。

三.ブラウザがmainfestを解析する方法
        「こんなにたくさん言っているのに、ブラウザはどのようにオフラインのリソースを管理してロードしているのか」という疑問があるかもしれません.焦らないでください.このことは具体的に2つの状況に分けて議論しています.今からゆっくり話してあげます.
3.1オンラインの場合
        ブラウザはhtmlヘッダにmanifestプロパティがあることを発見し、manifestファイルを要求します.appに初めてアクセスすると、ブラウザはmanifestファイルの内容に基づいて対応するリソースをダウンロードし、オフラインで保存します.        appにアクセスし、リソースがオフラインで格納されている場合、ブラウザはオフラインのリソースを使用してページをロードし、ブラウザは新しいmanifestファイルと古いmanifestファイルを比較し、ファイルが変更されていない場合は何もせず、ファイルが変更された場合は、ファイル内のリソースを再ダウンロードしてオフラインで格納します.
3.2オフラインの場合
        ブラウザでは、オフラインで保存されたリソースが直接使用されます.
注意事項:
        サイトオフラインストレージの容量制限は5 M
        サーバがオフラインのリソースを更新した場合、ブラウザに再ダウンロードされるにはmanifestファイルを更新する必要があります.リソースを更新しただけでmanifestファイルを更新していない場合、ブラウザはリソースを再ダウンロードしません.つまり、元のオフラインストレージのリソースも使用します.
        manifestファイルをキャッシュするときは注意が必要です.manifestファイルを更新した場合があるかもしれませんが、httpのキャッシュルールはブラウザにローカルキャッシュのmanifestファイルが期限切れではないことを示しています.この場合、ブラウザは元のmanifestファイルを使用しますので、manifestファイルにはキャッシュを設定しないほうがいいです.
        manifestファイル、または内部に列挙されたファイルが正常にダウンロードできない場合、更新プロセス全体が失敗したとみなされ、ブラウザは古いキャッシュをすべて使用し続けます.