VUG5 IMS presentation
Nils Goroll
slink at schokola.de
Fri Mar 23 16:09:11 CET 2012
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
More information about the varnish-dev
mailing list