更新 1 :このスレッドから判断すると、FF 12 でこの問題を抱えているのは私だけではなく、12 だけです。
更新 2 : 問題は Ajax リクエストに限定されていないようです。一見すると、Firefox 12 のキャッシュに入るすべてのものはそこから取得されます。何があっても。サーバーは、終日キャッシュ制御ヘッダーを指定できます。残念!
私が達成しようとしているのは、次の動作です。
- ブラウザは、最大 5 分間再検証せずに応答をキャッシュする場合があります
- ブラウザがすべてのリクエストで再検証されるかどうかは気にしません (たとえば、Chrome と IE9 の両方がそうします)
- 有効期限が切れると、ブラウザーは再検証する必要があります (私の場合、これにより新しいデータが生成されます)
Chrome と IE9 は、ifModified: true と cache: true を指定して jquery.ajax() リクエストを発行すると、望ましい動作を示しますが、Firefox 12は再検証されないため、深刻な問題が発生します。
これらは実際の応答ヘッダーです。
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 03 Jun 2012 07:13:43 GMT
Content-Type: text/javascript; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Cache-Control: private, must-revalidate, max-age=300
Last-Modified: Sun, 03 Jun 2012 07:07:13 GMT
Content-Encoding: gzip
助言がありますか?