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