オリジンが変更されるまでクライアント側でキャッシュしたいファイルが 2 つあります。
HTML ページ (index.html) への呼び出しの応答には、次のヘッダーが含まれます。
HTTP/1.1 200 OK
Cache-Control: public,max-age=7776000
Content-Type: text/plain
Content-Encoding: gzip
Last-Modified: Wed, 13 Jul 2011 13:02:04 GMT
Accept-Ranges: bytes
ETag: "e07f1e105d41cc1:0"
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Wed, 03 Aug 2011 11:47:47 GMT
Content-Length: 242
xml ページ (application-context-dashboard.xml) への呼び出しの応答には、次のヘッダーが含まれます。
HTTP/1.1 200 OK
Cache-Control: public,max-age=7776000
Content-Type: text/xml
Content-Encoding: gzip
Last-Modified: Wed, 03 Aug 2011 11:31:56 GMT
Accept-Ranges: bytes
ETag: "10ba5f3d051cc1:0"
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Wed, 03 Aug 2011 11:47:14 GMT
Content-Length: 457
今、それらをリロードすると、index.html に対して、ファイルが変更されたかどうかを確認するために 304 が送信されます。xml ファイルの場合、304 は送信されず、クライアント キャッシュがトリガーされます。
index.html の 304 呼び出し: 要求:
GET /edumatic3/trunk/backend/index.html HTTP/1.1
Host: localhost
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: nl,en-US;q=0.8,en;q=0.6,fr;q=0.4
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: CurrenUICulture=en-us
If-None-Match: "e8626a973e45cc1:0"
If-Modified-Since: Mon, 18 Jul 2011 11:34:01 GMT
xml ファイルで同じ結果を得る方法はありますか? + html では機能するのに xml では機能しないのはなぜですか? 最初のリクエストの 2 つのヘッダーは同一のようです。
ブラウザ:クローム。
swf、txt などの他の静的コンテンツについても同じ問題が発生します。
アップデート:
どうやら Chrome は index.html に対して問題なく動作しますが、たとえば firefox はそうではありません...