[prev in list] [next in list] [prev in thread] [next in thread]
List: varnish-bugs
Subject: [Varnish] #686: VCL doesn't account for duplicate headers with
From: varnish-bugs () varnish-cache ! org (Varnish)
Date: 2010-04-26 8:50:16
Message-ID: 042.f8a05be67072e6502bf73a7c4efd9ac6 () varnish-cache ! org
[Download RAW message or body]
#686: VCL doesn't account for duplicate headers with different content
----------------------+-----------------------------------------------------
Reporter: felix | Owner: phk
Type: defect | Status: new
Priority: normal | Milestone: After Varnish 2.1
Component: varnishd | Version: trunk
Severity: normal | Keywords: vcl headers
----------------------+-----------------------------------------------------
Using Chromium 5.0.342.9 on Linux with a forced refresh (Ctrl+F5) I get
the following in Varnish 2.1.0 on Debian:
{{{
13 RxHeader c User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US)
AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.9 Safari/533.2
13 RxHeader c Cache-Control: max-age=0
13 RxHeader c Pragma: no-cache
13 RxHeader c Cache-Control: no-cache
}}}
whereas in Firefox I get:
{{{
Firefox (3.6.3):
13 RxHeader c User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US;
rv:1.9.2.3) Gecko/20100402 Namoroka/3.6.3
13 RxHeader c Pragma: no-cache
13 RxHeader c Cache-Control: no-cache
}}}
It seems that rfc2616 section 4.2 allows multiple duplicate headers so
Chrome's behaviour is correct (but not traditional). Varnish seems to be
only using the ''first'' one found.
In the example of Chromium above, a VCL statement of 'req.http.Cache-
Control' would be filled with 'max-age=0' whereas with Firefox it would be
'no-cache'. This makes tests for a forced refresh a little difficult.
--
Ticket URL: <http://varnish-cache.org/ticket/686>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic