code 206 - visible as '206' in varnishncsa and as '200' from VCL code

Johnny Halfmoon jhalfmoon at
Mon Aug 1 17:21:31 CEST 2011

> ]] Johnny Halfmoon
> | thank you for your reply. I agree that the backend response would be
> | 200. But what I need to see is the actual response code Varnish sends
> | to the frontend, which should be 206. In the example code I therefor
> | explicitly read out VRT_r_resp_status , but still see code 200.
> 200 vs 206 is decided after vcl_deliver has run.  What is the use case
> for knowing 200 vs 206 earlier?  (If it's important, we can take a look
> at it, but phk indicated it probably wasn't trivial to make the decision
> earlier.)

Ah, well. I just found this one in my mailbox; a summary of Trac bug  
activity by PHK, explaining the issue of this thread:

Subject: Re: [Varnish] #970: partial content code 206 - visible as
         '206' in        varnishncsa and as '200' from VCL code

  This is sort of by design, we only decide to do range delivery after
  vcl_deliver{} has returned, because we want to make it possible to remove
  the Accept-Range header and this prevent range delivery in vcl_deliver{}.

  Is this a problem or just an annoyance for you ?

I answered the question in the ticket.



More information about the varnish-misc mailing list