Является ли следующий способ обнаружения запроса AJAX и установки срока действия на 15 минут таким образом, чтобы тот же GET не требовал сетевого трафика?
# in controller
if request.xhr?
response.headers['Expires'] = (Time.now + 15.minutes).httpdate
response.headers['Cache-Control'] = '' # override any no-cache, must-revalidate
end
Обновление: Я нашелболее короткая альтернатива, которая является expires_in
# in controller
if request.xhr?
expires_in(15.minutes)
end
, хотя после этого заголовок становится:
Cache-Control: max-age=900, private
, который раньше был
Expires: Tue, 13 Jul 2010 00:59:47 GMT
, когдаэто была более ранняя версия.Но обратите внимание, что Cache-Control
предназначен для HTTP / 1.1 и даже пару лет назад его поддерживали 99% браузеров, как упоминалось в книге «Высокопроизводительный веб-сайт».