3

画像の 14 日間のキャッシュを有効にするために、web.config に以下を追加しました。

  <location path="Images">
    <system.webServer>
      <staticContent>
        <clientCache cacheControlMaxAge="14.00:00:00" cacheControlMode="UseMaxAge" />
      </staticContent>
    </system.webServer>
  </location>

F12 ツールを使用して chrome で表示すると、更新時にブラウザがまだサーバーから画像を要求しているように見えることがわかります。304を取得しているため、再度ダウンロードする必要はありませんが、ページの更新などで画像ごとに無駄な旅のように見えます.

これは正しい動作ですか、それともファイルのヘッダーに基づいてキャッシュからプルすることを期待していたのでしょうか?

4

1 に答える 1

0

キャッシュ制御はクライアント側ではなくサーバー側です。そのため、ブラウザは引き続きサーバーにファイルを要求し304、キャッシュされたコピーを使用する必要があることを知る必要があります。

次の HTML (画像がキャッシュから返されるように設定されているかどうかに関係なくまったく同じです) を考えてみましょう。ブラウザーは画像をダウンロードするか、キャッシュされたバージョンを使用するかをどのように判断するのでしょうか?

<img src="somefile.jpg" />

サーバーがブラウザにレンダリングされたタグに何らかのcache-image="true"属性を設定するわけではないため、クライアントは知りません。img

于 2013-01-25T14:43:11.823 に答える