Недавно я добавил экземпляр Varnish в стек приложений Rails. Лак в его конфигурации по умолчанию можно убедиться в кэшировании определенного ресурса с помощью заголовка Cache-Control следующим образом:
Cache-Control: max-age=86400, public=true
Я достиг этого, используя оператор expires_in в моих контроллерах:
def index
expires_in 24.hours, public: true
respond_with 'some content'
end
Это сработало хорошо. Я не ожидал, что заголовок Cache-Control ТАКЖЕ влияет на браузер. Это приводит к тому, что оба - лак и мой браузер пользователей кешируют определенный ресурс. Ресурс очищается от лака правильно, но браузер не пытается запросить его снова, если не достигнут максимальный возраст.
Так что, интересно, я должен использовать "expires_in" в сочетании с Varnish вообще? Я мог бы фильтровать заголовок Cache-Control в экземпляре Nginx или Apache перед Varnish, но это кажется странным.
Может кто-нибудь просветить меня?
Отношения Felix