ブラウザ側でキャッシュを無効化
FirefoxおよびChromeでキャッシュを無効化した際に、パケットの中身がどう変わっているのかを確認しました。
こちらがキャッシュを無効化した際のパケットです。
こちらがキャッシュを無効化していないデフォルト設定のパケットです。
両者を見比べると、「If-Modified-since」「If-None-Match」「Cache-Control」「Pragma」などのヘッダの値が異なるのがわかります。
ちなみにサーバ側で以下のようにキャッシュさせない設定をしたのですが、効果はありませんでした。
<meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache">
結局クライアントからIf-modified-since等のヘッダを受け取った時点で304を返しているように見えます。このあたりは実装に依存するので、ソースコードで確認が必要かもしれません。