Re: New Version Notification for draft-vkrasnov-h2-compression-dictionaries-01.txt

I look forward to discussing this, particularly in comparison to SDCH.

A few comments from a brief skim:


The document is really light on details regarding how to use a
dictionary.  I realize that this might /seem/ obvious, but it really
needs to explain how better (up front preferably) how it is intended
to work.  In particular, how do I tell what compression algorithm to
feed the dictionary into?  HTTP/2 doesn't know about compression, in
particular, HTTP/2 really *can't* use content-encoding.

minor stuff:

I see that you have settings for the number of dictionaries, and the
size of those dictionaries, this is good, but I think that you need to
set an overall limit instead of a per-dictionary limit
SETTINGS_MAX_DICTIONARY_SIZE (you get better efficiency that way).

I like the idea of static dictionaries, but your structure would force
an implementation to support ALL static dictionaries if they wanted to
support ANY dynamic dictionaries.  That might be inadvisable.  A
separate setting would be better I think.  (Static dictionaries could
start from the top of the numbering space, perhaps, so that you can
have many static dictionaries.)

The security considerations need a lot more detail about when it is
safe to use a compression dictionary, etc.

On 2 November 2016 at 07:34, Vlad Krasnov <> wrote:
> Hi,
> Yesterday I posted a new version of my proposal that allows for cross-stream
> compression in HTTP/2.
> This allows for significant improvement in compression ratio for a variety
> of use cases, including server->client and origin->server, and works with
> both deflate and brotli.
> The main changes from the previous version include the option to concatenate
> dictionaries, and the use of static dictionaries, that improve compression
> ratio even for connections that serve only a single resource.
> Feedback is appreciated.
> Cheers,
> Vlad
> Begin forwarded message:
> From:
> Subject: New Version Notification for
> draft-vkrasnov-h2-compression-dictionaries-01.txt
> Date: 31 October 2016 at 10:42:44 GMT-7
> To: "Vlad Krasnov" <>
> A new version of I-D, draft-vkrasnov-h2-compression-dictionaries-01.txt
> has been successfully submitted by Vlad Krasnov and posted to the
> IETF repository.
> Name: draft-vkrasnov-h2-compression-dictionaries
> Revision: 01
> Title: Compression Dictionaries for HTTP/2
> Document date: 2016-10-31
> Group: Individual Submission
> Pages: 7
> URL:
> Status:
> Htmlized:
> Diff:
> Abstract:
>   This document specifies a new HTTP/2 frame type and new HTTP/2
>   settings values that would enable the use of previously transferred
>   data as compression dictionaries, significantly improving overall
>   compression ratio for a given connection.
>   In addition, this document proposes to define a set of industry
>   standard, static, dictionaries to be used with any Lempel-Ziv based
>   compression for the common textual MIME types prevalent on the web.
> Please note that it may take a couple of minutes from the time of submission
> until the htmlized version and diff are available at
> The IETF Secretariat

Received on Wednesday, 2 November 2016 03:14:50 UTC