ウェブアプリをローカルにキャッシュするHTML 5のアプリケーションキャッシング機能

杉山貴章(オングス)
2008-12-26 17:00:00
  • このエントリーをはてなブックマークに追加
最新特集【一覧】

HTML 5の「5.7 Offline Web applications」

 HTML 5に追加される予定のオフライン機能には、これまで紹介してきたクライアントサイド・ストレージと、もうひとつ「オフラインアプリケーションキャッシング」と呼ばれるものがある。これは、ウェブアプリケーションのリソースをローカルにキャッシュしておき、ウェブブラウザがオフライン状態になった場合でもそのキャッシュを利用することで継続してアプリケーションを利用できるようにするメカニズムである。

 Google社が公開し現在はオープンソースで開発されている「Gears API」に照らし合わせればLocalServerモジュールと同等の機能だと考えてよい。HTML 5のエディターズ・ドラフトでは「5.7 Offline Web applications」として定義されている。

 具体的には、キャッシュすべきリソースを定義した「キャッシュマニフェスト」を用意し、ウェブサイトのHTMLにおいてそのマニフェストを参照するように記述する。そのためにHTML 5ではhtml要素にmanifest属性が追加された。manifest属性にはリスト1のようにマニフェスト(この例ではファイル名"cache-manifest")のURLを指定する。

リスト1 html要素に対するmanifest属性の指定



    ......

 ウェブブラウザは訪れたドキュメントがmanifest属性を含んでいる場合には、指定されたマニフェストの記述にしたがって必要なリソースをローカルにキャッシュしておく。次にそのドキュメントを訪れた際には、まずマニフェストが更新されていないかどうかを確認し、最新のものであればキャッシュされたリソースを利用する。もし最新のものでなければ、新しいマニフェストに従って再度リソースを取得しローカルにキャッシュする。つまりキャッシュマニフェストを基準にして、どのリソースをキャッシュするべきかや、キャッシュを更新する必要があるかなどを判断する仕組みである。

 FirefoxではFirefox 3よりこの機能の大部分をサポートしており、Firefox 3.1でさらにサポートする範囲が拡大される(現在はBeta 2を公開中)。一部まだサポートされていない機能が残っているが、将来的には全て実装される予定となっている。

  • 新着記事
  • 特集
  • ブログ