Как управлять Varnish и браузером с помощью кэша -Управление :max -age Header в среде Rails?

Недавно я добавил экземпляр 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

22
задан GeorgieF 23 April 2012 в 16:52
поделиться