3

IE でのブラウザーのキャッシュ動作を理解しようとしています。css を含むテスト ページがあり、次の操作を行います。

編集:明確ではありませんでした.test.cssファイルへのリンクを含むtest.htmlファイルがあります。test.html ファイルは毎回再送信され、test.css ファイルのみがキャッシュされます。

IE9:

  1. ページに移動して現在のファイルを取得する
  2. css ファイルは 19:58 の Last-Modified ヘッダーで返されます
  3. cssファイルを変更
  4. URL バーをクリックして Enter キーを押します
  5. css ファイルの 304 not modified を取得する

次のヘッダーがリクエストで送信されます。

Request GET /test.css HTTP/1.1
Accept text/css
Referer http://10.0.0.60/test.html
Accept-Language en-US
User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding gzip, deflate
Host 10.0.0.60

応答の Last-Modified ヘッダーは 19:58 です (ファイルが変更される前と同じ)

同じページまたは同じ css ファイルを使用する別のページへのリンクをクリックすると、同じことが行われます。

Ctrl+R は、If-Modified-Since ヘッダーを送信し、更新されたファイルを取得します。

だから私の質問は、ブラウザーがキャッシュされたバージョンを使用する必要があることを決定しているのは何ですか? If-Modified-Since ヘッダーがない場合、サーバーが 304 を返すのはなぜですか?

サーバーは IIS 7 です

4

0 に答える 0