7.1 キャッシュ・マニフェスト・ファイルの利用

すべてのブラウザでページやリソースをキャッシュできますが、ブラウザは別のものをキャッシュするためのスペースを作るために、どの時点でもキャッシュ内のアイテムのどれでも置き換えることができます。この問題の対応として、HTML5 でキャッシュ・マニフェスト・ファイルが導入されました。

オフラインでのサポートができるようにするため、Web ページのコンパイル時にキャッシュ・マニフェスト・ファイルが作成され、オフラインのユーザーが現在の Web ページを使えるようにするために、ブラウザがキャッシュしなければいけないファイルすべてが指定されます。

適切なリソースが追加されたキャッシュ・マニフェスト・ファイルを使用することで、オフライン時にユーザーがリフレッシュ・ボタンを押しても、アプリケーションはロードされ、正しく作動します。この場合、ブラウザはキャッシュ・マニフェスト・ファイルそのものが変更されると (Web ページの再コンパイル時)、リソースをリフレッシュするのみです。
例えば、[サンプル アプリケーション] の 1 つ、[オフライン サポート付きモバイル アプリ] には Web ページ xDOMain があり、これを開くと、[派生リソース] のリソースが表示されます。

これらのオブジェクトは、Web ページでアプリケーション・キャッシュを使用することを指定すると、自動的に含まれます。この Web ページがコンパイルされると、生成されたキャッシュ・マニフェスト・ファイル <web ページ>.appcache ファイルにオブジェクトのリストが含まれます。Web ページが実行されると、ブラウザは指定のクライアントでは Web サーバーを経由せずに、これらのリソースが使用可能であることを認識しています。

この Web サーバーの切断により、Web ページはサーバーにアクセスすることなく、完全なロードや実行ができるようになります。このように、このアプリケーションは完全なオフライン状態で実行できます。このオプションは、多くのケースであった方が良いことは確かなのですが、開発者はアプリケーション・サーバーのデーターベースの読み込みや、書き込みの必要なしにアプリケーションの実行が可能かどうかを確認する必要があります。

注: オフライン・サポート機能を利用する予定の場合、アプリケーションはシングル・ページ・アプリケーションとして設計することが推奨されています。この時、アプリケーションの各 Web ページは、それぞれ独自のキャッシュ・マニフェストにリンクされ、暗黙的にキャッシュが個別で行われます。