HTML 5におけるアプリケーションキャッシングのためのキャッシュマニフェスト

杉山貴章(オングス)
2009-01-05 17:00:00
  • このエントリーをはてなブックマークに追加

キャッシュマニフェストの記述方法

 キャッシュマニフェストには、ブラウザにキャッシュしておきたいリソースを記載する。キャッシュマニフェストはUTF-8形式のテキストファイルで記述し、改行文字はLFまたはCR、あるいはその両方が使用できる。また、MIMEタイプはtext/cache-manifestとして送信されなければならない。

 リスト1にキャッシュマニフェストの記述例を示す。

リスト1 キャッシュマニフェストの記述例

CACHE MANIFEST
# version 1.0 
# キャッシュマニフェストの記述例
index.html
content.html
images/icon.png

NETWORK:
server.cgi

CACHE:
style/style.css

 manifest属性の値としてこのキャッシュマニフェストが指定されたドキュメントにアクセスした場合、index.html、content.html、images/icon.png、style/style.cssの各ファイルがアプリケーションキャッシュとしてローカルにキャッシングされる。逆に、server.cgiはキャッシュではなく常にサーバから取得されるようになる。ここでは各リソースのURIはキャッシュマニフェストから見た相対パスで指定している。相対パスでなく絶対パスで指定することもできる。

 もう少し詳しく説明しよう。キャッシュマニフェストの1行目には必ず「CACHE MANIFEST」という文字列を記述する。「#」に続く文字列はコメントになる。マニフェストの内容は3種類のセクションに分けられ、各セクションは以下のセクションヘッダによって切り替えられる。

  • CACHE: Explicitセクションに切り替える
  • FALLBACK: Fallbackセクションに切り替える
  • NETWORK: オンラインホワイトリストセクションに切り替える

 ExplicitセクションにはキャッシュするべきリソースのURIを記述する。このセクションに記載されたリソースは後述するExplicitエントリーとなる。また、セクションヘッダが明示されていないセクション(この例ではindex.htmlなどがある部分)についてはデフォルトでExplicitセクションとして扱われる。Fallbackセクションには、FallbackエントリーとしてキャッシュしたいリソースのURIを記述する。

 オンラインホワイトリストセクションには、ウェブアプリケーションがオフラインキャッシュではなくサーバから直接取得する必要のあるリソースのURIを記述する。すなわち、このセクションに記述されたリソースは、仮にキャッシュが存在したとしても必ずサーバから取得されることになる。ただし、Firefoxではまだオンラインホワイトリストをサポートしていないため、このセクションは無視される。

  • 新着記事
  • 特集
  • ブログ
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]