Кажется, что существует дюжина страниц, которые рассказывают вам, как установить заголовки «expires» для файлов, но на самом деле ни одна из них не является правильной.
Прямо сейчас мой VCL:
if (req.url ~ "^/media/") {
set beresp.ttl = 3600s;
set beresp.http.expires = beresp.ttl;
set beresp.http.age = "0";
unset beresp.http.set-cookie;
}
и браузер продолжает повторно запрашивать файлы в / media / для каждого запроса. Может ли кто-нибудь поделиться фрагментом VCL, который на самом деле скажет браузеру, что нужно кэшировать объект до тех пор, пока это делает Varnish, и не запрашивать его повторно каждый раз?
Заголовки моих ответов:
Server Apache/2.2.14 (Ubuntu)
Last-Modified Sun, 15 Aug 2010 22:26:50 GMT
Etag "141d8-184e-48de4364e3e80"
Vary Accept-Encoding
Content-Encoding gzip
Content-Type text/css
Expires 3600.000
Content-Length 1802
Date Mon, 16 Aug 2010 12:16:48 GMT
X-Varnish 808143209 808142052
Age 2184
Via 1.1 varnish
Connection keep-alive
Я не уверен, какой заголовок заставляет браузер каждый раз запрашивать CSS, но это так. Помогите?
Как насчет настройки заголовка управления кешем?
set beresp.http.cache-control = "max-age = 3600";
Если ваш браузер не видит этот заголовок, он может каждый раз запрашивать объект. Надеюсь это поможет.