5

私が完全に把握していないことの 1 つは、リストされているすべてのファイルに対してキャッシュ マニフェストがオンラインのときに、キャッシュ マニフェストがプリフェッチとしても機能しているかどうかです。

たとえば、私が訪問しているとしましょう:

/page1.html

私のサイトの各ページには、同じ宣言があります。

<html manifest="/cache.manifest">

キャッシュ マニフェスト ファイルには、次のものがあります。

CACHE MANIFEST
/page2.html
/page3.html
/page4.html

何が起こるかというと、最初に /page1.html にアクセスすると、オンラインになると、ブラウザーはページ 2 から 4 もキャッシュすることを認識します。切断された状態でページ 2 ~ 4 にアクセスすると、既にキャッシュされているため、すべて正常に読み込まれます。

質問: /page1.html にアクセスし、まだオンラインに接続していて、/page2.html にアクセスした場合、ブラウザは引き続き /page2.html を要求しますか、それともサーバーに別の要求を行わず、キャッシュされたものを使用しますか? /cache.manifest ファイルから? 基本的に、Firefox が使用するプリフェッチ リンクのように機能しますか?

4

3 に答える 3

2

仕様には「すべてのファイル」と記載されていますが、htmlファイルの例外はありません。したがって、他のファイルと同じようにhtmlファイルでも機能し、サーバーではなくキャッシュから取得されると思います。ただし、これを確認するためのテストは行っていません。私は次のことをします:

次のキャッシュマニフェストファイルを作成します。

CACHE MANIFEST
/page1.html
/page2.html
/page3.html
/page4.html

4つのキャッシュマニフェストファイルのそれぞれにそれを含めます。それで:

  1. page1.htmlにアクセス
  2. page2.htmlを編集して、page1.htmlにアクセスする前とは異なるものにします。
  3. page2.htmlにアクセス
  4. 入手したバージョンを確認してください。

すべてのブラウザで試してみてください。私はあなたの結果を見たいと思います。

于 2011-05-26T21:39:24.617 に答える
1

When we use cache manifest it takes the files from the cache each time you load the page. There is a solution for this.

You have to change the version number in the manifest file, If at all you have done any changes to the HTML files. so that your manifest pulls in the latest version of the HTML from the server and Stores it in Cache.

CACHE MANIFEST

#v01
/page1.html
/page2.html
/page3.html
/page4.html

You can just Increment the V01 to 02,03... So on, this will ensure your cache will have latest version of html pages

于 2013-03-15T10:12:47.080 に答える
0

オンラインであっても、マニフェストファイルから取得すると思います:)。ファイルをアップロードしてからページに移動して試してみませんか?

于 2011-05-26T18:58:23.070 に答える