VUG5 IMS presentation

sky at crucially.net sky at crucially.net
Fri Mar 23 16:11:31 CET 2012


Only if people change the cache-control. Expires could be turned into a uint64 and safely updated, though expires is generally frowned upon.

Artur 
------Original Message------
From: Nils Goroll
To: Artur Bergman
Cc: varnish-dev at varnish-cache.org
Subject: Re: VUG5 IMS presentation
Sent: Mar 23, 2012 08:09

Hi Sky and all,

I really should have sent a brief note on what was discussed at VUG5 today:

All the slides on VCL access to the stale_obj etc. were are really only meant as
a basis for the discussion we had. My understanding of the consensus is that IMS
feature should first go in as a minimal solution: In vcl_miss, you could drop
the If-* headers if you wanted to disable IMS, otherwise it would just be
implicitly enabled. obj in vcl_fetch would be the new object created from the
304 response with any missing headers copied from the stale object.

If needed, the stale object could be made accessible through a vmod and if we
found actual use cases for this in real world projects later, we could still
agree on inclusion of access functions in VCL.

> If you get a 304 and no headers have changed (most likely) then you don't need to copy the object, just update timestamps. 

It is important to update Expires/Cache-Control to "extend" the lifetime of the
refreshed object (
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.5 ). We must not
change a live object header because it is not protected (by locks). So we really
need to have a new object and dup (either reference or copy) the body.

Nils

Sent via BlackBerry by AT&T


More information about the varnish-dev mailing list