Handling 304 and header refresh

Daniel Rodriguez coolbomb at gmail.com
Fri Nov 27 22:55:02 CET 2009

Hi Stefan,

Thank you for your answer, but no, I don't use that kind of
configuration on my vcl, because the max-age are changed in a
different way per object by the apache web server at the time it
returns a 304, and in some specifics situations demanded by our sites.

In the example log, the apache web server returns:

  13 RxStatus     b 304
  13 RxResponse   b Not Modified
  13 RxHeader     b Date: Mon, 23 Nov 2009 17:11:37 GMT
  13 RxHeader     b Server: Apache
  13 RxHeader     b Connection: close
  13 RxHeader     b Cache-control: max-age=20

Changing the max-age of the object that was originally set in a
previous fetch to 20 in this case.

BTW: In the log there is a line that says: 13 TxHeader     b Host:
www.foo.com.com <--- that second .com is my mistake when i replaced
the host name. Not a log/object error.

Best Regards,

On Fri, Nov 27, 2009 at 9:14 PM, Caunter, Stefan <scaunter at topscms.com> wrote:
> -----Original Message-----
> From: varnish-misc-bounces at projects.linpro.no
> [mailto:varnish-misc-bounces at projects.linpro.no] On Behalf Of Daniel
> Rodriguez
> Sent: November-27-09 8:35 AM
> To: varnish-misc at projects.linpro.no
> Subject: Handling 304 and header refresh
> Hi,
> I'm having a problem with a varnish caching implementation in our sites.
> We have some big and heavy loaded sites, and one of the things we are
> used to do, is to return a 304 from an object but with some
> modifications to the object headers. This works cool with our current
> caching systems (the ones that are going to be replaced with varnish).
> Example:
> http://www.foo.com/varnish.jpg
> That image never changes so our apache server will always returns 304.
> In some situations we need to change one of the headers of the object
> (changing the max age is one of the things we usually do).
> But if we do that with varnish all our fetches after changing the
> headers end up on our backbends.
> Hi: I put this in my vcl.fetch and it sets max-age
> I do this in vcl.fetch
>  set    obj.http.cache-control = "max-age = 600";
> Do you have this anywhere in your config?
> Stef

More information about the varnish-misc mailing list