2

このようなimgタグがあるとしましょう。

<img src = "myimage.jpg" width ="50" height = "50">

ブラウザが最初にこれに遭遇すると、画像ファイルをダウンロードしてレンダリングします。ページを再度更新すると、ブラウザがこの行に遭遇すると、ファイルを再度ダウンロードする要求を送信するか、キャッシュから読み取ります。それが取るプロセスのすべてのシーケンスは何ですか。

別の Q. すぐに頭に浮かぶのは、画像の内容を変更しても画像の名前 (myimage) を変更しない場合、ブラウザーがキャッシュされた画像を読み取ると、画像の内容がサーバー内の画像と同一にならないということです。この問題を克服するにはどうすればよいですか?

答えに満足していません。誰かが私に言うことができますか、これらの場合にブラウザーが行うプロセスのすべてのシーケンスは何ですか?

4

2 に答える 2

1

ブラウザは、すでにキャッシュされている場合でも、画像のリクエストをサーバーに送信します(少なくともfirebugのネットワークログによると)。私の知る限り、サーバーは「最後にダウンロード/変更された日付」を返します。これは、時間が経過しすぎると新しいダウンロードをトリガーする可能性があります (通常、ブラウザーはキャッシュされたコンテンツを再ダウンロードします)。

これを克服する最も簡単な方法は、ファイル名にバージョンまたはリリース日を追加して、ブラウザーがそのキャッシュを無視するようにすることです。

于 2012-04-07T08:56:16.657 に答える
0

ブラウザの動作は、最初に画像とともに返された HTTP ヘッダーによって異なります。応答のキャッシュ設定に応じて、ブラウザは次のことができます。

  • 再度画像をリクエストし、
  • 画像が変更されている場合は画像をリクエストする、または
  • サーバーに問い合わせずにキャッシュ内の画像を使用する
于 2012-04-07T08:50:36.510 に答える