リビジョンの比較

Offline resources in Firefox

リビジョン 233555:

リビジョン 233555 (編集者: Kohei / 編集日時:

リビジョン 161732:

リビジョン 161732 (編集者: Kohei / 編集日時:

タイトル:
Offline resources in Firefox
Offline resources in Firefox
URL スラッグ:
Offline_resources_in_Firefox
Offline_resources_in_Firefox
タグ:
"Firefox 3", "Offline web applications"
"Firefox 3", "Offline web applications"
内容:

リビジョン 233555
リビジョン 161732
t7    <p>t7    REDIRECT <a class="redirect" href="/docs/ja/HTML/Using_the_ap
 >plication_cache">ja/HTML/Using_the_application_cache</a>
8      {{ Fx_minversion_header("3") }}
9    </p>
10    <p>
11      Firefox 3 では、HTML 5 で定義されている、Web アプリケーションのリソースをオフラインにキャッシュす
>る機構の大半が実装されています。これは、Web アプリケーションによって提供されるリソース定義ファイル (マニフェスト) から取得 
>された、「<strong>アプリケーションキャッシュ</strong>」と呼ばれるリソース群を使って実現されます。 
12    </p>
13    <h3 name=".E3.82.A2.E3.83.97.E3.83.AA.E3.82.B1.E3.83.BC.E3.82
>.B7.E3.83.A7.E3.83.B3.E3.82.AD.E3.83.A3.E3.83.83.E3.82.B7.E3.83.A 
>5"> 
14      アプリケーションキャッシュ
15    </h3>
16    <p>
17      {{ Note("Firefox は今のところ、アプリケーションキャッシュにおけるバージョン管理をサポートしていません
>。") }} 
18    </p>
19    <p>
20      複数の Web アプリケーションがリソースを共有できるため (そして同じマニフェスト URI も共有できるため)、各 
>Web アプリケーションはそれぞれ固有のキャッシュを管理します。しかし、アプリケーションキャッシュは、それらが共有しているマニフェ 
>スト URI をもとにグループ化され、共通の「<strong>更新状況</strong>」が与えられます。更新状況は以下のいずれか 
>になります。 
21    </p>
22    <dl>
23      <dt>
24        <code>idle</code>
25      </dt>
26      <dd>
27        アプリケーションキャッシュは、更新をダウンロードするプロセスの途中ではありません。
28      </dd>
29      <dt>
30        <code>checking</code>
31      </dt>
32      <dd>
33        キャッシュは、その内容が最新かどうか、リソースマニフェストを参照して確認を行っています。
34      </dd>
35      <dt>
36        <code>downloading</code>
37      </dt>
38      <dd>
39        キャッシュは、変更されたリソースマニフェストにもとづいて、新しい内容に更新されている途中です。
40      </dd>
41    </dl>
42    <p>
43      {{ Fx_minversion_note("3") }}
44    </p>
45    <h4 name=".E3.83.AA.E3.82.BD.E3.83.BC.E3.82.B9">
46      リソース
47    </h4>
48    <p>
49      キャッシュには常に、URI によって特定されるリソースが、少なくともひとつは含まれます。リソースは以下のいずれかのカテ
>ゴリに属します。 
50    </p>
51    <dl>
52      <dt>
53        黙示的エントリー
54      </dt>
55      <dd>
56        これらは、次の理由により、キャッシュに追加されたリソースです。ユーザによって訪問される最上位のブラウジングコンテキ
>ストには、そのリソースが <code>manifest</code> 属性を使ってキャッシュに含まれていることを示すドキュメントが 
>含まれるためです。 
57      </dd>
58      <dt>
59        マニフェスト
60      </dt>
61      <dd>
62        これはリソースマニフェストそのものです。黙示的エントリーの <code>html</code> 要素の <code
>>manifest</code> 属性で指定された URI から読み込まれます。マニフェストは、アプリケーションキャッシュの更新プ 
>ロセスの中でダウンロードされ、処理されます。黙示的エントリーは、マニフェストと同じスキーマ、ホスト、ポートで提供される必要がありま 
>す。 
63      </dd>
64      <dt>
65        明示的エントリー
66      </dt>
67      <dd>
68        これらは、キャッシュのマニフェストに記載されたリソースです。
69      </dd>
70      <dt>
71        代替エントリー
72      </dt>
73      <dd>
74        これらは、代替 (フォールバック) エントリーとしてキャッシュのマニフェストに記載されたリソースです。<stron
>g>Firefox ではまだサポートされていません。</strong> 
75      </dd>
76      <dt>
77        便宜的にキャッシュされるエントリー
78      </dt>
79      <dd>
80        これらは、取得時にその URI が便宜的キャッシュの名前空間に一致し、その結果アプリケーションキャッシュに自動的に
>キャッシュされたリソースです。<strong>Firefox ではまだサポートされていません。</strong> 
81      </dd>
82      <dt>
83        動的エントリー
84      </dt>
85      <dd>
86        これらは、<code><a href="ja/NsIDOMOfflineResourceList#add.28.2
>9">add()</a></code> メソッドを使って動的に追加されたリソースです。 
87      </dd>
88    </dl>
89    <h4 name=".E3.82.AA.E3.83.B3.E3.83.A9.E3.82.A4.E3.83.B3.E3.83
>.9B.E3.83.AF.E3.82.A4.E3.83.88.E3.83.AA.E3.82.B9.E3.83.88"> 
90      オンラインホワイトリスト
91    </h4>
92    <p>
93      オンラインホワイトリストには、Web アプリケーションがオフラインキャッシュではなくサーバから直接取得する必要のある、
>ゼロまたはそれ以上のリソースの URI が含まれます。これは、認められたリソースのみにアクセスを制限するもので、ブラウザのセキュリ 
>ティモデルが、ユーザを潜在的なセキュリティ問題から守ることを可能にします。 
94    </p>
95    <p>
96      {{ Note("オンラインホワイトリストは Firefox 3 では使われていません。ただし、Firefox の将来
>のバージョンや、他のブラウザで実装されるオフラインリソースサポートとの互換性を保証するため、いずれにしても必要な場合は提供すべきで 
>す。") }} 
97    </p>
98    <h3 name=".E3.82.AD.E3.83.A3.E3.83.83.E3.82.B7.E3.83.A5.E3.83
>.9E.E3.83.8B.E3.83.95.E3.82.A7.E3.82.B9.E3.83.88"> 
99      キャッシュマニフェスト
100    </h3>
101    <p>
102      キャッシュマニフェストファイルは <code>text/cache-manifest</code> という MIME 
>タイプで提供される必要があります。この MIME タイプを使って提供されるすべてのリソースは、ここで定義されている、アプリケーショ 
>ンキャッシュマニフェストのための構文に従う必要があります。キャッシュマニフェストは UTF-8 形式のテキストファイルで、任意で  
>BOM 文字を含むこともできます。改行文字は、ラインフィード (U+000A)、キャリッジリターン (U+000D)、あるいはその 
>両方で表すことができます。 
103    </p>
104    <p>
105      キャッシュマニフェストの 1 行目は、ゼロあるいはそれ以上のスペースまたはタブ文字に続けて「CACHE MANIFES
>T」という文字列で構成される必要があります。2 つの単語の間にはひとつのスペース (U+0020) が含まれます。1 行目に書かれ 
>たそれ以外の文字列は無視されます。 
106    </p>
107    <p>
108      キャッシュマニフェストのリマインダーは、ゼロあるいはそれ以上の、以下の行によって構成されます。
109    </p>
110    <dl>
111      <dt>
112        空白行
113      </dt>
114      <dd>
115        ゼロあるいはそれ以上のスペースまたはタブ文字から成る空白行を用いることができます。
116      </dd>
117      <dt>
118        コメント
119      </dt>
120      <dd>
121        コメントは、ひとつの「#」文字に続くゼロあるいはそれ以上のスペースまたはタブ文字と、それに続くゼロあるいはそれ以上
>のコメント文字列によって構成されます。コメントは単独の行のみで用いることができ、他の行に付加することはできません。 
122      </dd>
123      <dt>
124        セクションヘッダ
125      </dt>
126      <dd>
127        セクションヘッダは、キャッシュマニフェストのどのセクションが操作されるかを示すものです。3 種類のセクションヘッダ
>を用いることができます。 
128      </dd>
129    </dl>
130    <blockquote>
131      <table class="standard-table">
132        <tbody>
133          <tr>
134            <th>
135              セクションヘッダ
136            </th>
137            <th>
138              説明
139            </th>
140          </tr>
141          <tr>
142            <td>
143              <code>CACHE:</code>
144            </td>
145            <td>
146              明示的セクションに切り替えます。これは既定のセクションです。
147            </td>
148          </tr>
149          <tr>
150            <td>
151              <code>FALLBACK:</code>
152            </td>
153            <td>
154              代替セクションに切り替えます。
155              <p>
156                {{ Note("代替セクションは、Firefox ではまだサポートされておらず、無視されます。"
>) }} 
157              </p>
158            </td>
159          </tr>
160          <tr>
161            <td>
162              <code>NETWORK:</code>
163            </td>
164            <td>
165              オンラインホワイトリストセクションに切り替えます。
166              <p>
167                {{ Note("オンラインホワイトリストセクションは、Firefox ではまだサポートされておら
>ず、無視されます。ただし、適切なオンラインホワイトリストを提供することを強く推奨します。") }} 
168              </p>
169            </td>
170          </tr>
171        </tbody>
172      </table>
173    </blockquote>
174    <dl>
175      <dd>
176        セクションヘッダ行には空白を含めることも可能ですが、セクション名には必ずコロンを含める必要があります。
177      </dd>
178      <dt>
179        各セクションのデータ
180      </dt>
181      <dd>
182        データ行の形式はセクションとごとに異なります。明示的セクションでは、各行は、キャッシュのリソースを参照した正しい 
>URI または IRI を含む必要があります。各行の URI または IRI の前後には空白を含めることも可能です。 
183      </dd>
184    </dl>
185    <p>
186      キャッシュマニフェストは、それぞれのセクションを任意で行き来することができます (つまり、各セクションヘッダを複数回用
>いることができます)。また、セクションを空白にしておくことも許容されています。 
187    </p>
188    <p>
189      {{ Note("相対 URI は、マニフェストを参照するドキュメントの URI ではなく、キャッシュマニフェストの 
>URI からの相対となります。") }} 
190    </p>
191    <h4 name=".E3.82.AD.E3.83.A3.E3.83.83.E3.82.B7.E3.83.A5.E3.83
>.9E.E3.83.8B.E3.83.95.E3.82.A7.E3.82.B9.E3.83.88.E3.81.AE.E4.BE.8 
>B"> 
192      キャッシュマニフェストの例
193    </h4>
194    <p>
195      これは、架空の Web サイト <span class="nowiki">foo.com</span> におけるシンプ
>ルなキャッシュマニフェストです。 
196    </p>
197    <pre class="eval">
198CACHE MANIFEST
199# v1
200# これはコメントです。
201<span class="nowiki">http://www.foo.com/index.html</span>
202<span class="nowiki">http://www.foo.com/header.png</span>
203<span class="nowiki">http://www.foo.com/blah/blah</span>
204</pre>
205    <p>
206      この例では、セクションヘッダがありません。つまり、すべてのデータ行が明示的セクションとして解釈されます。
207    </p>
208    <p>
209      「v1」というコメントは、もっともな理由があって書かれています。キャッシュはマニフェストが変更された時だけ更新されるた
>め、リソースを変更した場合は (例えば、<code>header.png</code> を新しい画像に差し替えた場合)、ブラウザに 
>キャッシュの更新が必要なことを知らせるには、マニフェストファイルに変更を加える必要があります。マニフェストに何らかの変更を加えるこ 
>とでキャッシュを最新の状態にできますが、バージョン番号は変更を加える部分として適しているというわけです。 
210    </p>
211    <p>
212      所定の Web サイトでオフラインアプリケーションキャッシュを使うよう Firefox に知らせるには、次のように、サ
>イトの <code>html</code> 要素に <code>manifest</code> 属性を追加する必要があります。 
213    </p>
214    <pre class="eval">
215<span class="nowiki">&lt;html manifest="http://www.foo.com/cache-
>manifest"&gt;</span> 
216  ...
217&lt;/html&gt;
218</pre>
219    <h3 name=".E6.9B.B4.E6.96.B0.E3.83.97.E3.83.AD.E3.82.BB.E3.82
>.B9"> 
220      更新プロセス
221    </h3>
222    <ol>
223      <li>Firefox は、<code>manifest</code> 属性を含むドキュメントを訪れると、<code>
><a href="ja/DOM/window.applicationCache">window.applicationCache< 
>/a></code> オブジェクトに対して <code>checking</code> イベントを送ります。そして、適切な HTT 
>P キャッシュ規則に従いマニフェストファイルを取得します。その時点でキャッシュされているマニフェストのコピーが最新であった場合、< 
>code>applicationCache</code> に <code>noupdate</code> イベントが送られ、更新プ 
>ロセスは完了します。 
224      </li>
225      <li>マニフェストファイルが、前回の更新チェック以降、変更されていなかった場合もまた、<code>applicati
>onCache</code> に <code>noupdate</code> イベントが送られ、更新プロセスは完了します。繰り返し 
>になりますが、リソースを変更した際はマニフェストファイルにも変更を加える必要があるのはこのためです。そうすることで Firefox 
> はリソースを再度キャッシュする必要があると判断します。 
226      </li>
227      <li>マニフェストファイルが変更されていた場合は、マニフェストに書かれたすべてのファイルと、<code><a hre
>f="ja/NsIDOMOfflineResourceList#add.28.29">applicationCache.add() 
></a></code> を呼び出すことでキャッシュに追加されたファイルが、適切な HTTP キャッシュ規則に従い一時キャッシュに取 
>得されます。各ファイルがキャッシュに取得されるたびに、<code>applicationCache</code> オブジェクトに  
><code>progress</code> イベントが送られます。エラーが発生した場合は、<code>error</code> イ 
>ベントが送られ、更新は中止されます。 
228      </li>
229      <li>すべてのファイルの取得に成功すると、それらは実際のオフラインキャッシュへ一度に移動され、<code>appli
>cationCache</code> オブジェクトに <code>cached</code> イベントが送られます。 
230      </li>
231    </ol>
232    <h3 name="Firefox_.E3.81.A7.E6.9C.AA.E5.AE.9F.E8.A3.85.E3.81.
>AE.E6.A9.9F.E8.83.BD"> 
233      Firefox で未実装の機能
234    </h3>
235    <p>
236      Firefox 3 の機能フリーズ日が近づく中、HTML 5 仕様書の草案はまだ流動的であることから、オフラインキャッ
>シュ機能の一部はまだ実装されていません。 
237    </p>
238    <ol>
239      <li>WHATWG の仕様書草案では、ブラウザがオンラインの場合でも、利用可能な場合は、すべてのリクエストをオフライ
>ンキャッシュに対して行うよう指示されています。Firefox は今のところ、オフラインの場合のみオフラインキャッシュにアクセスしま 
>す。このため、オンラインホワイトリストはまだサポートされていません。 
240      </li>
241      <li>Firefox は今のところ、各 Web アプリケーションのキャッシュを個別に管理していません。アプリケーショ
>ンは、リソースのバージョン不一致について心配がない限り、異なるマニフェスト間でリソースを共有することは避けるべきです。しかし、アプ 
>リケーションは一般的に、アプリケーションごとに各リソースのコピーを管理すべきです。 
242      </li>
243      <li>Firefox はまだ、便宜的キャッシュや代替エントリーをサポートしていません。
244      </li>
245    </ol>
246    <h3 name=".E5.8F.82.E8.80.83.E8.B3.87.E6.96.99">
247      参考資料
248    </h3>
249    <ul>
250      <li>
251        <a class="external" href="http://www.w3.org/TR/2008/WD-ht
>ml5-20080122/#appcache">HTML 5 working draft: Application caches< 
>/a> 
252      </li>
253      <li>{{ Interface("nsIDOMOfflineResourceList") }}
254      </li>
255      <li>
256        <a class="external" href="http://www.ibm.com/developerwor
>ks/jp/web/library/wa-ffox3/">Firefox 3.0 に備える - 人気のブラウザーの多くの新機能、特 
>にオフラインのアプリケーション機能に関する、Web 開発者へのガイド</a> (IBM developerWorks) 
257      </li>
258    </ul>
259    <p>
260      <br>
261    </p>
262    <p>
263      <br>
264    </p>
265    <p>
266      <br>
267    </p>{{ languages( { "en": "en/Offline_resources_in_Firefox", 
>"es": "es/Recursos_en_modo_desconectado_en_Firefox", "fr": "fr/Re 
>ssources_hors_ligne_dans_Firefox", "pl": "pl/Zasoby_offline_w_Fir 
>efoksie", "zh-tw": "zh_tw/Offline_resources_on_Firefox" } ) }} 

前に戻る