Streaming of requests with Range

Duarte Bacelar De Begonha De Meneses duarte.meneses at
Wed Nov 27 18:20:52 CET 2013


I need to cache requests of chunks of files using the "Range" HTTP header. The problem is that in some cases  the files are very large, and Varnish  downloads the entire file from the backend before passing the requested part to the client.

I've seen that some developments have been made to add support to streaming in a separate branch, since some time ago.
Does currently this feature will return the requested range as soon as it gets downloaded, and then keeps on transferring the rest, to have then the entire file on cache?
This would be a behavior very similar to what Squid offers.

After checking the change logs of the latest releases (up to 3.0.4), I suppose this branch hasn't been merged with the main branch. Is the 3.0.2s the latest release supporting streaming?

Also, going a bit offtopic, I feel a bit confused about how Varnish processes HTTP cache-related headers, such has If-Modified-Since, Cache-control, etc.
For example, I saw that it respects the "If-Modified-Since" in a transparent way, and returns 304 if needed. What would be the best way to override this behavior and ignore the header? Would it be to simply unset the header in vcl_recv?

Thanks and best regards.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the varnish-misc mailing list