私のWebアプリケーションでは、HTTPキャッシュヘッダーが24時間有効なすべてのイメージとETagsを提供しています。しかし、Javascriptのクライアントアプリケーションが画像が更新された可能性があると思われることがあります。そのような場合、私は実際にキャッシュを壊すことなく、ブラウザに画像キャッシュの再検証を強制したいと思います。ブラウザでイメージを再検証する必要があります(ただし必ずしも再フェッチする必要はありません)
たとえば、最新のLastUpdated日付を持つユーザーレコード(JSON内)を取得します。 LastUpdatedの日付が変更された可能性がある理由はいくつかあります。ユーザーがニックネームを変更したり、新しいボードに参加したり、画像を変更した可能性があります。画像が変わらない可能性は高いですが、確認する必要があります。
URLにキャッシュブレーカを追加してイメージを再リクエストできることは知っています。しかし、画像が変更されたかどうかにかかわらず、画像が強制的にリロードされ、ブラウザのキャッシュに2つのエントリが表示され、新しいURLですべての画像を更新するよう強制されます。私が本当に望むのは、ブラウザが同じURLを再度要求し、If-None-MatchヘッダーまたはIf-Modified-Sinceヘッダーをリクエストに送信して、イメージが変更されていない場合は304を取得することです。
Javascriptでこれを達成する方法はありますか?
あなたは思考以上のものです。_might_変更されていなくてもイメージを再取得するのは本当にひどいでしょうか? – Oded
私は、数十枚の画像をチェックする可能性があります。特に携帯端末でダウンロードするのが大変なことがあります。私が毎回リロードすることなくそれらを再検証することができれば、それらを頻繁にチェックする余裕があります。プラス私はちょうどそれが面白い質問だと思う。 :) –
モバイルデバイスですか?なぜあなたはあなたの質問に言及していないのですか?それはむしろ関係しているようです。 – Oded