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:

MAJOR:

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 <vlad@cloudflare.com> 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: internet-drafts@ietf.org
> 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" <vlad@cloudflare.com>
>
>
> 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:
> https://www.ietf.org/internet-drafts/draft-vkrasnov-h2-compression-dictionaries-01.txt
> Status:
> https://datatracker.ietf.org/doc/draft-vkrasnov-h2-compression-dictionaries/
> Htmlized:
> https://tools.ietf.org/html/draft-vkrasnov-h2-compression-dictionaries-01
> Diff:
> https://www.ietf.org/rfcdiff?url2=draft-vkrasnov-h2-compression-dictionaries-01
>
> 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 tools.ietf.org.
>
> The IETF Secretariat
>
>

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