Re: Header Compression

All, I've updated the Stored Header Encoding (aka bohe) draft...

  http://www.ietf.org/id/draft-snell-httpbis-bohe-10.txt

The main change is to the typed value encoding (switch to a 3-bit
identifier rather than 2-bit), and a few examples.

This draft ought to be viewed as an alternative to the joint header
compression draft Herve and Roberto have proposed (still waiting on
the I-D to be published for that one tho). There are a number of
distinct differences between the approaches:

1. This approach does not have the "differential encoding". This means
that the compression ratio is slightly worse but is far less
complicated to implement.
2. This approach includes the typed value codecs. Yes, the typed
values have not been considered to be a priority thus far but they are
built in to this approach and offer significant improvements to
encoding size independent of the compression ratio.
3. This approach includes a Huffman-encoding for text headers that
supports arbitrary UTF-8 codepoints
4. This approach uses a smaller dynamic storage range than the
alternative which trades slightly less compression efficiency for
fewer (and easier) state management requirements by the endpoints.
5. Of much lower priority at this point in time, but worth noting...
As part of the typed value codecs, this naturally provides for
multiple values per header, allowing for interesting new possibilities
such as http://tools.ietf.org/html/draft-snell-httpbis-mget-00

- James


On Wed, Jun 5, 2013 at 12:31 PM, James M Snell <jasnell@gmail.com> wrote:
> At first read, this definitely looks like an improvement. I will be
> taking another pass over the bohe draft before next week and will be
> working on side-by-side implementations of both bohe and this updated
> proposal in time for next weeks face to face.
>
> On Wed, Jun 5, 2013 at 12:17 PM, RUELLAN Herve
> <Herve.Ruellan@crf.canon.fr> wrote:
>> Roberto and I have been discussing for some time and we have created a joint proposal for Header Compression.
>>
>> The resulting spec is available at:
>> https://github.com/http2/compression-spec
>>
>> The main features of this proposal are:
>> - One single table for indexing headers as (name, value) pairs.
>> - HeaderDiff-based serialization (indexed header, literal header with either no indexing, addition indexing, or replacement indexing).
>> - Delta2-based diff between two successive header sets.
>> - Possibility of bounding table size.
>> - Least recently written eviction strategy when an insertion cause table size limit to be reached.
>>
>>
>> We will present it in details at the next interim meeting. Until then, all questions and comments are welcome.
>>
>> Hervé.

Received on Sunday, 9 June 2013 20:27:02 UTC