- From: Greg Wilkins <gregw@intalio.com>
- Date: Wed, 18 Jun 2014 14:58:38 +0200
- To: Poul-Henning Kamp <phk@phk.freebsd.dk>
- Cc: Martin Thomson <martin.thomson@gmail.com>, Mark Nottingham <mnot@mnot.net>, HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CAH_y2NHPqSizPrST8Ag+hr3d6FpVtL=S+PmEaHfitGfaWroFgw@mail.gmail.com>
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