<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7652.24">
<TITLE>RE: Caching issue</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Thanks alot for the help...I have been trying some of these ideas with little success...even the simple example of 'lookup everything in vcl_recv' did not work...seems to me that should check the cache for everything it receives..which it might have been doing....but it still showed a cache miss..and showed me the 503 error...does anyone know how the matching works...does it only take a hash of the url..or does it use more then that...<BR>
<BR>
Shain<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: varnish-dev-bounces@projects.linpro.no on behalf of Daniel Papasian<BR>
Sent: Fri 3/7/2008 5:53 PM<BR>
To: Adrian Otto<BR>
Cc: varnish-dev@projects.linpro.no<BR>
Subject: Re: Caching issue<BR>
<BR>
Adrian Otto wrote:<BR>
> I'm not certain if there is a VCL configuration that would cause varnish to <BR>
> simply disregard the Pragma and Cache-Control headers from the <BR>
> client, because anyone doing a shift+reload while your origin server <BR>
> is down is going to get sent back to the origin server as well.<BR>
<BR>
No, I believe it's a simple matter to simply disregard the Pragma and<BR>
Cache-Control headers on incoming requests.  Most<BR>
<BR>
Most simply, if you wanted to have every request do a lookup from the cache:<BR>
<BR>
sub vcl_recv {<BR>
   lookup;<BR>
}<BR>
<BR>
If the default.vcl I have lying around is still current, then the<BR>
default vcl_recv doesn't appear to be looking at Cache-Control or<BR>
Pragma, either.<BR>
<BR>
But obviously you probably want to do some checks against<BR>
req.http.Cache-Control, req.http.Pragma, req.http.cookie, and perhaps<BR>
any other request header, before just blindly doing a lookup in the<BR>
cache.  There are cases, however, where blindly doing a lookup could<BR>
make sense - such as when you are in full control of not only all of the<BR>
backends, but also all of the clients (e.g. you are putting varnish in<BR>
front of a web application that is used by another one of your systems)<BR>
<BR>
Daniel<BR>
_______________________________________________<BR>
varnish-dev mailing list<BR>
varnish-dev@projects.linpro.no<BR>
<A HREF="http://projects.linpro.no/mailman/listinfo/varnish-dev">http://projects.linpro.no/mailman/listinfo/varnish-dev</A><BR>
<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>