私の Rails 3.2 アプリは、リクエスト#stale?
でIf-Modified-Since
HTTP ヘッダーを使用Last-Modified
し、レスポンスでヘッダーを使用して、データを動的に生成するかどうかを決定します。curl -D headers.txt
これは、正しいIf-Modified-Since
値が提供された場合は 304 応答が送信され、Last-Modified
それ以外の場合は要求データに沿ってヘッダーが送信されることを示すように、(webrick または unicorn_rails を使用するかどうかにかかわらず) 開発では非常にうまく機能します。
残念ながら、一度 nginx の背後にデプロイされると、 If-Modified-Since
(正しいヘッダー値を提供して) unicorn (したがって Rails アプリ) に渡されることもLast-Modified
、クライアントに伝達されることもありません。リクエストは無条件に生成され、レスポンスに適切なヘッダーが含まれることはありません。