Support for If-None-Match header.

Guillaume Quintard guillaume at
Mon Jan 23 14:47:36 CET 2017


Short answer is : no, unless you want some very involved set.

BUT, what you can do is: let varnish work its magic, and just ban objects
based on ETAG when they become invalid.

Guillaume Quintard

On Mon, Jan 23, 2017 at 1:56 PM, Jan Hugo Prins | BetterBe <
jprins at> wrote:

> Hello,
> We are currently investigating the use of Varnish for our infrastructure.
> In the software we build, we depend on the If-None-Match header and the use
> of ETAG's.
> The API we have created creates mainly JSON objects, and they differ in
> size from a few hundreds of bytes to several megabytes. A lot of these JSON
> objects are perfectly suited for caching, until someone changes a parameter
> and this can happen at any moment. That is also why we keep a record of all
> ETAG's and we invalidate them when needed.
> What we would like to do is cache created JSON object in front of our
> production environment and when someone requests the same calculation that
> someone else has requested before and the ETAG is still valid, send out the
> cached object. But this basicly implies the following workflow:
> Somewhere I found an old Trac Wiki document that describes something like
> this, but I can't figure out if this has been implemented or not.
> version=8
> Could someone tell me if the workflow I describe is possible? My first
> tests tell me that in the default setup it isn't working like this.
> Best regards,
> Jan Hugo Prins
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cjpfoeckcepgfhfg.png
Type: image/png
Size: 112886 bytes
Desc: not available
URL: <>

More information about the varnish-misc mailing list