normalicing accept headers

Per Buer perbu at varnish-software.com
Thu Dec 2 13:00:48 CET 2010


Vitaly,
Your vary header is:
  Vary: User-Agent,Cookie,Accept-Encoding

So you'll more or less have every page cached separately for every
user. I would drop the User-Agent from Vary and normalize
Accept-Encoding in vcl_recv. Also, you need take special care of your
cookies if you're not doing this already.

Per.

On Thu, Dec 2, 2010 at 12:52 PM, Vitaly Burshteyn
<vburshteyn at broadway.com> wrote:
>
> Stig,
>
>
>
> Ok so here is the log output from crome:
>
>
>
>
>
>    4 TxHeader     b Host: stagingvarnish.broadway.com
>
>     4 TxHeader     b Referer: http://stagingvarnish.broadway.com/shows/jersey-boys/
>
>     4 TxHeader     b Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
>
>     4 TxHeader     b User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7
>
>     4 TxHeader     b Accept-Language: en-US,en;q=0.8
>
>     4 TxHeader     b Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
>
>     4 TxHeader     b Accept-Encoding: gzip
>
>     4 TxHeader     b Cookie: omni=bwy; LMD_18157499=0; affi=old; s_cc=true; s_sq=broadwayprod%3D%2526pid%253DShow%25253A%252520Jersey%252520Boys%25253A%252520Overview%2526pidt%253D1%2526oid%253Dhttp%25253A//stagingvarnish.broadway.com/%2526ot%253DA%26broadwayqa%3D%2526pid%253
>
>     4 TxHeader     b X-Varnish: 548007645
>
>     0 Backend_health - s1 Still healthy 4--X-RH 10 5 10 0.110571 0.069738 HTTP/1.1 200 OK
>
>     0 Backend_health - s2 Still healthy 4--X-RH 10 5 10 0.054721 0.053967 HTTP/1.1 200 OK
>
>     0 CLI          - Rd ping
>
>     0 CLI          - Wr 200 PONG 1291290621 1.0
>
>     0 Backend_health - s1 Still healthy 4--X-RH 10 5 10 0.061056 0.067568 HTTP/1.1 200 OK
>
>     4 RxProtocol   b HTTP/1.1
>
>     4 RxStatus     b 200
>
>     4 RxResponse   b OK
>
>     4 RxHeader     b Date: Thu, 02 Dec 2010 11:50:19 GMT
>
>     4 RxHeader     b Server: Apache/2.2.9 (Fedora)
>
>     4 RxHeader     b Vary: User-Agent,Cookie,Accept-Encoding
>
>     4 RxHeader     b Content-Encoding: gzip
>
>     4 RxHeader     b Connection: close
>
>     4 RxHeader     b Transfer-Encoding: chunked
>
>     4 RxHeader     b Content-Type: text/html; charset=utf-8
>
>     3 TTL          c 548007645 RFC 120 1291290622 0 0 0 0
>
>     3 VCL_call     c fetch
>
>     3 TTL          c 548007645 VCL 86400 1291290620
>
>     3 TTL          c 548007645 VCL 240 1291290620
>
>     3 VCL_return   c deliver
>
>     3 ObjProtocol  c HTTP/1.1
>
>     3 ObjStatus    c 200
>
>     3 ObjResponse  c OK
>
>     3 ObjHeader    c Date: Thu, 02 Dec 2010 11:50:19 GMT
>
>     3 ObjHeader    c Server: Apache/2.2.9 (Fedora)
>
>     3 ObjHeader    c Vary: User-Agent,Cookie,Accept-Encoding
>
>     3 ObjHeader    c Content-Type: text/html; charset=utf-8
>
>     3 ObjHeader    c Content-Encoding: gzip
>
>     3 ObjHeader    c Cache-Control: max-age=3600
>
>     3 ObjHeader    c magicmarker: 1
>
>     4 BackendClose b s1
>
>     3 Length       c 12314
>
>     3 VCL_call     c deliver
>
>     3 VCL_return   c deliver
>
>     3 TxProtocol   c HTTP/1.1
>
>     3 TxStatus     c 200
>
>     3 TxResponse   c OK
>
>     3 TxHeader     c Server: Apache/2.2.9 (Fedora)
>
>     3 TxHeader     c Vary: User-Agent,Cookie,Accept-Encoding
>
>     3 TxHeader     c Content-Type: text/html; charset=utf-8
>
>     3 TxHeader     c Content-Encoding: gzip
>
>     3 TxHeader     c Cache-Control: max-age=3600
>
>     3 TxHeader     c magicmarker: 1
>
>     3 TxHeader     c Content-Length: 12314
>
>     3 TxHeader     c Date: Thu, 02 Dec 2010 11:50:22 GMT
>
>     3 TxHeader     c X-Varnish: 548007645
>
>     3 TxHeader     c Age: 0
>
>     3 TxHeader     c Via: 1.1 varnish
>
>     3 TxHeader     c Connection: keep-alive
>
>     3 ReqEnd       c 548007645 1291290619.872500896 1291290622.596549034 0.000085831 2.723987103 0.000061035
>
>     3 Debug        c "herding"
>
>     0 Backend_health - s2 Still healthy 4--X-RH 10 5 10 0.053767 0.053917 HTTP/1.1 200 OK
>
>     0 Backend_health - s1 Still healthy 4--X-RH 10 5 10 0.053378 0.064020 HTTP/1.1 200 OK
>
>     0 CLI          - Rd ping
>
>     0 CLI          - Wr 200 PONG 1291290624 1.0
>
>     0 Backend_health - s2 Still healthy 4--X-RH 10 5 10 0.053538 0.053822 HTTP/1.1 200 OK
>
>     0 Backend_health - s1 Still healthy 4--X-RH 10 5 10 0.054416 0.061619 HTTP/1.1 200 OK
>
>     0 Backend_health - s2 Still healthy 4--X-RH 10 5 10 0.053792 0.053815 HTTP/1.1 200 OK
>
>
>
>
>
>
>
>
>
>
>
> And this is from firefox – same pc different browser and it does not hit cache.
>
>
>
>   4 TxHeader     b X-Varnish: 548007646
>
>     0 Backend_health - s1 Still healthy 4--X-RH 10 5 10 0.163856 0.081809 HTTP/1.1 200 OK
>
>     0 Backend_health - s2 Still healthy 4--X-RH 10 5 10 0.058637 0.062411 HTTP/1.1 200 OK
>
>     0 Backend_health - s1 Still healthy 4--X-RH 10 5 10 0.054320 0.074936 HTTP/1.1 200 OK
>
>     0 CLI          - Rd ping
>
>     0 CLI          - Wr 200 PONG 1291290714 1.0
>
>     0 Backend_health - s2 Still healthy 4--X-RH 10 5 10 0.074913 0.065536 HTTP/1.1 200 OK
>
>     4 RxProtocol   b HTTP/1.1
>
>     4 RxStatus     b 200
>
>     4 RxResponse   b OK
>
>     4 RxHeader     b Date: Thu, 02 Dec 2010 11:51:52 GMT
>
>     4 RxHeader     b Server: Apache/2.2.9 (Fedora)
>
>     4 RxHeader     b Vary: User-Agent,Cookie,Accept-Encoding
>
>     4 RxHeader     b Content-Encoding: gzip
>
>     4 RxHeader     b Connection: close
>
>     4 RxHeader     b Transfer-Encoding: chunked
>
>     4 RxHeader     b Content-Type: text/html; charset=utf-8
>
>     3 TTL          c 548007646 RFC 120 1291290715 0 0 0 0
>
>     3 VCL_call     c fetch
>
>     3 TTL          c 548007646 VCL 86400 1291290712
>
>     3 TTL          c 548007646 VCL 240 1291290712
>
>     3 VCL_return   c deliver
>
>     3 ObjProtocol  c HTTP/1.1
>
>     3 ObjStatus    c 200
>
>     3 ObjResponse  c OK
>
>     3 ObjHeader    c Date: Thu, 02 Dec 2010 11:51:52 GMT
>
>     3 ObjHeader    c Server: Apache/2.2.9 (Fedora)
>
>     3 ObjHeader    c Vary: User-Agent,Cookie,Accept-Encoding
>
>     3 ObjHeader    c Content-Type: text/html; charset=utf-8
>
>     3 ObjHeader    c Content-Encoding: gzip
>
>     3 ObjHeader    c Cache-Control: max-age=3600
>
>     3 ObjHeader    c magicmarker: 1
>
>     4 BackendClose b s2
>
>     3 Length       c 12314
>
>     3 VCL_call     c deliver
>
>     3 VCL_return   c deliver
>
>     3 TxProtocol   c HTTP/1.1
>
>     3 TxStatus     c 200
>
>     3 TxResponse   c OK
>
>     3 TxHeader     c Server: Apache/2.2.9 (Fedora)
>
>     3 TxHeader     c Vary: User-Agent,Cookie,Accept-Encoding
>
>     3 TxHeader     c Content-Type: text/html; charset=utf-8
>
>     3 TxHeader     c Content-Encoding: gzip
>
>     3 TxHeader     c Cache-Control: max-age=3600
>
>     3 TxHeader     c magicmarker: 1
>
>     3 TxHeader     c Content-Length: 12314
>
>     3 TxHeader     c Date: Thu, 02 Dec 2010 11:51:55 GMT
>
>     3 TxHeader     c X-Varnish: 548007646
>
>     3 TxHeader     c Age: 0
>
>     3 TxHeader     c Via: 1.1 varnish
>
>     3 TxHeader     c Connection: keep-alive
>
>     3 ReqEnd       c 548007646 1291290712.451340914 1291290715.647519112 0.000088930 3.196125031 0.000053167
>
>     3 Debug        c "herding"
>
>     0 Backend_health - s1 Still healthy 4--X-RH 10 5 10 0.053839 0.069662 HTTP/1.1 200 OK
>
>     0 Backend_health - s2 Still healthy 4--X-RH 10 5 10 0.054015 0.062656 HTTP/1.1 200 OK
>
>
>
>
>
>
>
>
>
>
>
>
>
> Vitaly Burshteyn
>
> Senior Network Engineer
>
> Broadway.com, Theatre Direct International
>
> 729  7th Avenue
>
> New York, New York 10019
>
> Phone: 212.817.9117
>
> Cell# 917-701-5732
>
>
>
> From: Stig Bakken [mailto:stig at zedge.net]
> Sent: Thursday, December 02, 2010 1:24 AM
> To: Vitaly Burshteyn
> Cc: varnish-misc at varnish-cache.org
> Subject: Re: normalicing accept headers
>
>
>
> Hi Vitaly,
>
>
>
> It would probably be easier to help if you posted a log dump of the same url in two browsers.
>
>
>
>  - Stig
>
>
>
> On Thu, Dec 2, 2010 at 4:06 AM, Vitaly Burshteyn <vburshteyn at broadway.com> wrote:
>
> Hello,
>
>
>
> So I am still trying to figure out why I cant hit a cached page with a different browser other then the one it was cached with.  I am pretty sure i got my vary statements right, they show up similar in the logs, so I know I am missing something.
>
>
>
> Can there be something other then Vary  tags that can be causing this?
>
>
>
> Thank you.
>
>
>
> Vitaly Burshteyn
>
> Senior Network Engineer
>
> Broadway.com, Theatre Direct International
>
> 729  7th Avenue
>
> New York, New York 10019
>
> Phone: 212.817.9117
>
> Cell# 917-701-5732
>
>
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> http://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
>
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> http://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc



--
Per Buer, Varnish Software
Phone: +47 21 98 92 61 / Mobile: +47 958 39 117 / Skype: per.buer
Varnish makes websites fly!




More information about the varnish-misc mailing list