画像の多いサイトは当然ながらhttpリクエストの数が多くなります。
キャッシュを使うのも一つの手ですが、それでもリクエストを出した結果304とかになるとhttpリクエスト自体はでてしまっているわけで。
ダウンロード量は減っても通信回数は減らないのですね。
これを防ぐ方法として、base64エンコードという方法があります。
base64とはいわばバイナリデータを直接htmlに書く方法です。
<img src="https://~">
と書くのが普通ですが、base64では
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA~">
のような感じでずらっとエンコードされた文字列を書くことによっても画像を表示できるのです。
これならhttpリクエストを投げないのでリクエスト待ち状態になることが減ります。
もちろん直接だーっと書くのだからhtmlのサイズは膨らみます。
リクエスト回数を減らすかデータ容量を減らすか、どっちを取るかになりますが、httpは同時に送信できる数に限界があり、それを超えるとコネクション解放まで待ち状態になります。
そのため、並行処理よりも明らかにリクエスト数が多い場合は埋め込んじゃったほうがいいですね。
頻繁に変わるような画像の場合、キャッシュなんて意味が無いのですから。
問題点としては、これ何の画像だろうってhtmlからじゃ分からないことですか。
flower.pngとかegg.pngとかなら名前から何の画像か分かるでしょうが、エンコードされるとぱっと見分からないですね。