[Varnish] #1506: Make better use of Content-Length information: Avoid chunked responses, more control over Range handling (was: Backend replies with 'Content-Length' but varnish 4.0 discards and replies with 'Transfer-Encoding: chunked')

Varnish varnish-bugs at varnish-cache.org
Mon May 19 12:53:49 CEST 2014


#1506: Make better use of Content-Length information: Avoid chunked responses,
more control over Range handling
--------------------------+----------------------------------
 Reporter:  DonMacAskill  |       Owner:  slink
     Type:  defect        |      Status:  assigned
 Priority:  normal        |   Milestone:  Varnish 4.0 release
Component:  varnishd      |     Version:  4.0.0
 Severity:  critical      |  Resolution:
 Keywords:                |
--------------------------+----------------------------------

Comment (by slink):

 Summary of a discussion on varnish-hacking (mostly phk, martin, slink):

 * We want to make use of the backend C-L in deliver wherever we can
   * if it turns out that the announced C-L was bad, fallback to close
 * We might be able to motivate the backend to not send chunked for more
 cases, so we get a C-L
   * `Range: bytes 1-` is an idea, but unclear if it will work
 * VCL should have control over preferred delivery methods
   * like with `std.deliver_option(no_chunked)`
     * should disable other processing which is incompatible, if possible
   * can always fall back to EOF mode, but that doesn't send C-L either
 * On `Range` - from #1500:
   * trust C-L whenever we know it
   * add `std.wait_body` for use in `vcl_response` to prefer to wait until
 we know a C-L for the cases where we don't have one before reading the
 response (read: response sent chunked)

-- 
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1506#comment:4>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator



More information about the varnish-bugs mailing list