Re: Stuck in a train -- reading HTTP/2 draft.

On 18 June 2014 11:21, Poul-Henning Kamp <phk@phk.freebsd.dk> wrote:

> I would expect HPACKs efficiency to increase if the constant-ish
> :path part were divorced from the dynamic-ish :query part ?
>

I think this split is a good one.


.... and while we are splitting headers, could we also split the
Date header into :date and :time.   Currently reencoding the date header is
the largest part of all the header blocks I'm sending (see example below):

Worse still, because requests come in batches that can be sent in <1s,
there is still value in putting the Date header into the HeaderTable and
reference sent, so it is at least only sent once per batch.   But this just
introduces more header table churn as you evict an entry every second.

2014-06-18 14:55:04.252:DBUG:oejhh.HpackEncoder:qtp124232201-30: encoded
':status: 200' by InRefSet to ''
2014-06-18 14:55:04.252:DBUG:oejhh.HpackEncoder:qtp124232201-30: encoded
'Server: Jetty(9.3.z-SNAPSHOT)' by InRefSet to ''
2014-06-18 14:55:04.252:DBUG:oejhh.HpackContext:qtp124232201-30:
HdrTbl[1592a441] added {D,4,Date: Wed, 18 Jun 2014 12:55:04 GMT,5e9ec769}
2014-06-18 14:55:04.252:DBUG:oejhh.HpackContext:qtp124232201-30:
RefSet[1592a441] added
2014-06-18 14:55:04.252:DBUG:oejhh.HpackEncoder:qtp124232201-30: encoded
'Date: Wed, 18 Jun 2014 12:55:04 GMT' by LitIdxNameHuffValIdxd to
'6595FcAe9cA6190dF3E371880603094d0c330406D5Ae8f'
2014-06-18 14:55:04.252:DBUG:oejhh.HpackEncoder:qtp124232201-30: encoded
'Custom: Value' by InRefSet to ''
2014-06-18 14:55:04.252:DBUG:oejhh.HpackEncoder:qtp124232201-30: encoded
'Content-Type: text/plain' by LitIdxNameHuffVal to '0f158772Fa38F7D8965d'
2014-06-18 14:55:04.252:DBUG:oejhh.HpackEncoder:qtp124232201-30: encoded
'Content-Length: 116' by LitIdxNameHuffVal to '0f1282118b'


So a header that could have been
  0f158772Fa38F7D8965d0f1282118b
plus a small time field is now
  6595FcAe9cA6190dF3E371880603094d0c330406D5Ae8f0f158772Fa38F7D8965d
0f1282118b

cheers











-- 
Greg Wilkins <gregw@intalio.com>
http://eclipse.org/jetty HTTP, SPDY, Websocket server and client that scales
http://www.webtide.com  advice and support for jetty and cometd.

Received on Wednesday, 18 June 2014 12:59:06 UTC