0

appcache マニフェストの文字を変更するだけで、キャッシュされたファイルを再度ダウンロードするようブラウザに指示する方法は知っていますが、その場合、ファイル名を変更するなどの操作を行わずに、ブラウザが新しいファイルをダウンロードするようにするにはどうすればよいですか?

送信できるファイルの有効期限ヘッダーは知っていますが、それらの経験はありません。HTML5 キャッシングでも動作しますか? どちらを送信しますか?

ブラウザは、ファイルがいつ変更されたかを検出するほどスマートではなく、ページを更新するかファイル名を変更して強制するまで、キャッシュされたファイルを使用し続けるという印象を受けています。マニフェストを更新することも意味し、余分な作業になるため、私はそれをしたくありません。

私の最適な解決策は、マニフェストを少し変更することです。その後、ブラウザは変更されたファイルを強制せずにフェッチします。

4

1 に答える 1

3

私がしているのは、マニフェストにタイムスタンプをコメントとして追加することです

# 20130623 025200

そして、強制的に更新したいたびに更新するだけです。

編集:コメントで指摘したように、ブラウザはマニフェストで明示的に列挙されたすべてのファイルを再ダウンロードします。マニフェストに含まれていないファイル (たとえば、HTML ファイルで参照されているがマニフェストには含まれていない CSS または画像) の場合、デフォルトの有効期限が優先されます。

アルゴリズムは標準で説明されています: http://www.w3.org/html/wg/drafts/html/master/browsers.html#downloading-or-updating-an-application-cache

于 2013-06-23T06:53:06.683 に答える