Hi,<br><br>I'm having a problem with the handling of http responses that contain multiple etag headers. I think varnish does not handle this case as effecient as it can. (And therefor I suspect a bug in varnish).<br>What do you think?<br>
<br><br>steps to reproduce<br>==============<br>See request/response below. Force a reload of a cached item in browser: Cache-Control: max-age=0
<br><br>result<br>====<br>HTTP 200 is returned, varnish serves file content, varnish does NOT contact backend.<br><br>expected result<br>============<br>HTTP 304 is returned, varnish does not server file content, varnish does NOT contact backend.<br>
<br>NOTE<br>=====<br>This does work correct, in case the reply contains a SINGLE etag header. -> all works as expected, I get a nice 304 instead of a 200.<br>As soon as the reply contains TWO etag headers, it seems varnish never returns a 304. Which I think is incorrect. No ?<br>
<br>Note; This is not related to the vlc, as single etag headers are working fine. (I'm doing NOTHING with headers, etag or others in my vlc).<br><br>request (anonimised)<br>=======<br><pre class="source ">GET /dam/asset/download/uuid/121a8df4-4fe8-11e0-bd65-56167b3dc56d/variant/103/ HTTP/1.1
Host: X.X.X
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0) Gecko/20100101 Firefox/4.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: nl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: __utma=1.1741069999.1296235686.1303504321.1303507491.8; <snipped rest of cookie>
If-Modified-Since: Fri, 22 Apr 2011 13:00:00 GMT
If-None-Match: "d41d8cd98f00b204e9800998ecf8427e", "4a00e1-3ddf-4a1816f7a9400"
Cache-Control: max-age=0</pre><br>reply<br><pre class="source ">HTTP/1.1 200 OK
Server: Apache/2.2.14 (Ubuntu)
Content-Disposition: inline; filename="Seminar Speakers.jpg"
Expires: Sat, 23 Apr 2011 13:00:00 GMT
Etag: "d41d8cd98f00b204e9800998ecf8427e", "4a00e1-3ddf-4a1816f7a9400"
Cache-Control: max-age=86400
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Last-Modified: Fri, 22 Apr 2011 13:00:00 GMT
Content-Type: image/jpeg;charset=utf-8
Content-Length: 15839
Date: Sat, 23 Apr 2011 12:07:39 GMT
X-Varnish: 2113947582 2113947501
Age: 58
Via: 1.1 varnish
Connection: keep-alive</pre><br><br><br>version<br>======<br>varnish 2.1.5<br><br><br><br>Log transcript of a single request+response (varnishlog)<br>=================================<br> 11 SessionOpen c X.X.X.220 50540 :80<br>
11 ReqStart c X.X.X.220 50540 2113947582<br> 11 RxRequest c GET<br> 11 RxURL c /dam/asset/download/uuid/121a8df4-4fe8-11e0-bd65-56167b3dc56d/variant/103/<br> 11 RxProtocol c HTTP/1.1<br> 11 RxHeader c Host: X.X.X<br>
11 RxHeader c User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0) Gecko/20100101 Firefox/4.0<br> 11 RxHeader c Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8<br> 11 RxHeader c Accept-Language: nl,en-us;q=0.7,en;q=0.3<br>
11 RxHeader c Accept-Encoding: gzip, deflate<br> 11 RxHeader c Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7<br> 11 RxHeader c Keep-Alive: 115<br> 11 RxHeader c Connection: keep-alive<br> 11 RxHeader c Cookie: __utma=1.1741069999.1296235686.1303504321.1303507491.8; __utmz=1.1303507491.8.8.utmcsr=<a href="http://senzio.com">senzio.com</a>|utmccn=(referral)|utmcmd=referral|utmcct=/; __utma=142895841.963436971.1296236932.1302872710.1303499754.14; __utmz=142895841.1296236932.1.1.utmcsr=(d<br>
11 RxHeader c If-Modified-Since: Fri, 22 Apr 2011 13:00:00 GMT<br> 11 RxHeader c If-None-Match: "d41d8cd98f00b204e9800998ecf8427e", "4a00e1-3ddf-4a1816f7a9400"<br> 11 RxHeader c Cache-Control: max-age=0<br>
11 VCL_call c recv<br> 11 VCL_return c lookup<br> 11 VCL_call c hash<br> 11 VCL_return c hash<br> 11 Hit c 2113947501<br> 11 VCL_call c hit<br> 11 LostHeader c X-Cache:<br> 11 VCL_return c deliver<br>
11 VCL_call c deliver<br> 11 VCL_return c deliver<br> 11 TxProtocol c HTTP/1.1<br> 11 TxStatus c 200<br> 11 TxResponse c OK<br> 11 TxHeader c Server: Apache/2.2.14 (Ubuntu)<br> 11 TxHeader c Content-Disposition: inline; filename="Seminar Speakers.jpg"<br>
11 TxHeader c Expires: Sat, 23 Apr 2011 13:00:00 GMT<br> 11 TxHeader c ETag: "d41d8cd98f00b204e9800998ecf8427e"<br> 11 TxHeader c Cache-Control: max-age=86400<br> 11 TxHeader c P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"<br>
11 TxHeader c Last-Modified: Fri, 22 Apr 2011 13:00:00 GMT<br> 11 TxHeader c ETag: "4a00e1-3ddf-4a1816f7a9400"<br> 11 TxHeader c Content-Type: image/jpeg;charset=utf-8<br> 11 TxHeader c Content-Length: 15839<br>
11 TxHeader c Date: Sat, 23 Apr 2011 12:07:39 GMT<br> 11 TxHeader c X-Varnish: 2113947582 2113947501<br> 11 TxHeader c Age: 58<br> 11 TxHeader c Via: 1.1 varnish<br> 11 TxHeader c Connection: keep-alive<br>
11 Length c 15839<br> 11 ReqEnd c 2113947582 1303560459.219877005 1303560459.317925930 0.000497818 0.000181675 0.097867250<br> 11 Debug c "herding"<br> 0 ExpKill - 2113947483 -30<br>
0 CLI - Rd ping<br> 0 CLI - Wr 200 19 PONG 1303560459 1.0<br><br><br>Regards,<br>Harm Verhagen<br>