サポートが数日かけて調べてくれたので間違い無いと思います。タイトル通りXServerではIf-Modified-Sinceを受け取れません。ついでにIf-None-Matchも受け取れません。いろいろとあーでもないこーでもないと試したり調べたり2日ほど費やしましたが、受け取れないで確定です。
$_SERVER内にも存在しないし、getallheaders()にもありません。Xアクセラレータやブラウザキャッシュなどの設定も関係ありません。.htaccessを修正しても無駄のようです。
主に画像ファイルに関して、クライアントから送られてきたIf-Modified-Sinceを受け取り、ファイルの更新日と比較して変更がなければ304 Not Modifiedを返そうとしてたんですが、夢叶いませんでした。
というわけで画像はCache-ControlとExpiresをちょっと長めの値にして対処することにしました。画像が更新されたらURLの末尾に?v=1とかつける感じですかねぇ。めんどくさいけど毎回更新日時見るよりいいかもしれませんね。
コメントを残す