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 _______________________________________________ varnish-dev mailing list [email protected] https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev
