Cache
有人可以分享他們的 Varnish VCL 以設置將來過期嗎?
似乎有十幾個頁面告訴您如何設置文件的“過期”標題,但實際上沒有一個是正確的。
現在,我的 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";
如果您的瀏覽器沒有看到該標頭,則它可能傾向於每次都請求該對象。希望這可以幫助。