varnish-devicedetect позволяет мне возвращать разные ответы в зависимости от User-agent :
...
elsif (req.http.User-Agent ~ "(?i)ipad") { set req.http.X-UA-Device = "tablet-ipad"; }
elsif (req.http.User-Agent ~ "(?i)ip(hone|od)") { set req.http.X-UA-Device = "mobile-iphone"; }
...
и позволяет пользователям выбрать другое взаимодействие с устройством, установив файл cookie:
if (req.http.Cookie ~ "(?i)X-UA-Device-force") {
...
}
Нужно ли добавлять Vary: Cookie
, чтобы получить правильное поведение кэширования клиента?
Например:
- Я поставил только
Vary: User-agent
- Пользователь просматривает страницу example.com/beep.
- Они соглашаются на работу с рабочим столом, устанавливая
X-UA-Device-force: pc
. - Они перезагружают example.com/beep.
Будет ли их браузер использовать кешированную мобильную версию, поскольку изменились только файлы cookie, а не User-agent?