I think I didn't explain myself good enough and after playing with varnish I realized that by default varnish won't forward to the backend If-None-Match and If-Modified-Since headers.<br>Right now my backend is prepared to answer 304 when the resource hasn't been modified, so I would like varnish to cache an object for X seconds and after that use the ETag and Last-Modified sent by the backend to verify if the expired resource is still the same and not ask directly for a fresh one. Right now it always asks for a new one.<br>
<br><div class="gmail_quote">On Tue, Sep 7, 2010 at 1:34 AM, Bedis 9 <span dir="ltr"><<a href="mailto:bedis9@gmail.com">bedis9@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi,<br>
<br>
What kind of Vary header your webserver sends?<br>
If no, there is no reason to cache 3 versions of this object unless<br>
your conditionnal request does not match any header of the cached<br>
object.<br>
<br>
cheers<br>
<div><div></div><div class="h5"><br>
On Mon, Sep 6, 2010 at 4:40 PM, Jonathan Leibiusky <<a href="mailto:ionathan@gmail.com">ionathan@gmail.com</a>> wrote:<br>
> Hi!<br>
> I'm playing with If-None-Match and Cache-Control: max-age   headers and I<br>
> have a doubt. Maybe it is more related to HTTP than Varnish, but it worth<br>
> asking.<br>
><br>
> Imagine that I have 3 user-agents, a varnish and my webserver.<br>
> When the clients ask the first time for /example, varnish doesn't have<br>
> anything cached so he ask the webserver for it. The webserver response has<br>
> Cache-Control: max-age=180 and ETag: 123 (for example).<br>
> So Varnish will cache the response for 180 seconds as well as the<br>
> user-agents.<br>
> After 180 seconds, the 3 user-agents will request /example for a conditional<br>
> If-None-Match header because they got the ETag. Since it is a conditional<br>
> request varnish will ask the webserver and will get a fresh response with<br>
> all the caching headers. When the other 2 user-agent make the same<br>
> conditional request they will generate another request to the webserver<br>
> unless varnish has some mechanism to answer himself.<br>
> Is that right? Does varnish has this mechanism?<br>
><br>
> Thanks!<br>
><br>
> Jonathan<br>
><br>
</div></div>> _______________________________________________<br>
> varnish-misc mailing list<br>
<div class="im">> <a href="mailto:varnish-misc@varnish-cache.org">varnish-misc@varnish-cache.org</a><br>
</div>> <a href="http://lists.varnish-cache.org/mailman/listinfo/varnish-misc" target="_blank">http://lists.varnish-cache.org/mailman/listinfo/varnish-misc</a><br>
><br>
</blockquote></div><br>