Rails 3.1 и кэширование HTTP-страниц

Учитывая, что Heroku Cedar не имеет http-кеширования, предоставляемого Varnish, я бы хотел использовать Стойка :: Кэш . Мне сказали, что в рельсах 3.1.1 по умолчанию активен Rack :: Cache , мне просто нужно убедиться, что в конфигурации указано:

config.action_controller.perform_caching = true

, и мне нужно выбрать хранилище кеша, для этого эксперимента я использую:

config.cache_store = :memory_store

В действии страницы, которую я хочу кэшировать, я добавил следующие строки:

response.header['Cache-Control'] = 'public, max-age=300'
response.header['Expires'] = CGI.rfc1123_date(Time.now + 300)

Этот код использовался для нормальной работы с Varnish, первый запрос возвращал 200 и последующие (в течение 5 минут) вернут 304 .

Этого не происходит с Rails 3.1 и Heroku Cedar Stack. Я получаю эти заголовки в ответе, но последующие запросы возвращают 200 вместо 304.

Что я делаю не так? Спасибо.

7
задан soulnafein 18 November 2011 в 16:56
поделиться