{"id":194,"date":"2012-03-05T20:54:42","date_gmt":"2012-03-05T19:54:42","guid":{"rendered":"http:\/\/blog.jeremm.fr\/?p=194"},"modified":"2014-09-24T22:01:14","modified_gmt":"2014-09-24T20:01:14","slug":"varnish-pass-et-ttl-time-to-live","status":"publish","type":"post","link":"https:\/\/blog.jeremm.fr\/?p=194","title":{"rendered":"Varnish : pass et objet cach\u00e9"},"content":{"rendered":"<p>Avec varnish, par d\u00e9faut quand vous appelez la routine pass,<\/p>\n<pre lang=\"cpp\">return(pass);<\/pre>\n<p>votre requ\u00eate sera envoy\u00e9e directement au backend sans v\u00e9rifier le cache mais si la r\u00e9ponse est \u00ab\u00a0cachable\u00a0\u00bb <a href=\"http:\/\/blog.jeremm.fr\/?p=190\">http:\/\/blog.jeremm.fr\/?p=190<\/a>, <strong>Varnish la sauvegardera dans son cache<\/strong>.<\/p>\n<p>Bien s\u00fbr cela ne sert souvent \u00e0 rien car la prochaine requ\u00eate passera encore par le routine pass, et l&rsquo;objet dans le cache ne sera pas utilis\u00e9e.<br \/>\nMais avec une configuration plus complexe, l&rsquo;objet en cache pourrait \u00eatre utilis\u00e9.<\/p>\n<p>Pour \u00eatre s\u00fbr que les objets passant par la routine pass ne soit pas cach\u00e9e, ajoutez :<\/p>\n<pre lang=\"cpp\">sub vcl_pass {\r\n        set req.http.X-marker = \"pass\" ;\r\n}<\/pre>\n<p>et dans le vcl_fetch :<\/p>\n<pre lang=\"cpp\">if (req.http.X-marker == \"pass\" ) {\r\n        unset req.http.X-marker;\r\n        set beresp.ttl = 0s ;\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Avec varnish, par d\u00e9faut quand vous appelez la routine pass, return(pass); votre requ\u00eate sera envoy\u00e9e directement au backend sans v\u00e9rifier le cache mais si la r\u00e9ponse est \u00ab\u00a0cachable\u00a0\u00bb http:\/\/blog.jeremm.fr\/?p=190, Varnish la sauvegardera dans son cache. Bien s\u00fbr cela ne sert souvent \u00e0 rien car la prochaine requ\u00eate passera encore par le routine pass, et l&rsquo;objet <a href='https:\/\/blog.jeremm.fr\/?p=194' class='excerpt-more'>[&#8230;]<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[35,36,9,40],"_links":{"self":[{"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=\/wp\/v2\/posts\/194"}],"collection":[{"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=194"}],"version-history":[{"count":31,"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=\/wp\/v2\/posts\/194\/revisions"}],"predecessor-version":[{"id":923,"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=\/wp\/v2\/posts\/194\/revisions\/923"}],"wp:attachment":[{"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jeremm.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}