W3C home > Mailing lists > Public > ietf-http-wg@w3.org > January to March 2015

Re: SETTINGS frame payload commit behavior

From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
Date: Sat, 17 Jan 2015 11:58:52 +0900
Message-ID: <CAPyZ6=Jg-wTFc2fXR2GyLi129p93jahjeM4ovcHtQedHzs7-hg@mail.gmail.com>
To: Osama Mazahir <OSAMAM@microsoft.com>
Cc: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
On Sat, Jan 17, 2015 at 11:03 AM, Osama Mazahir <OSAMAM@microsoft.com>

>  Section 6.5 SETTINGS
>    Each parameter in a SETTINGS frame replaces any existing value for
>    that parameter.  Parameters are processed in the order in which they
>    appear, and a receiver of a SETTINGS frame does not need to maintain
>    any state other than the current value of its parameters.  Therefore,
>    the value of a SETTINGS parameter is the last value that is seen by a
>    receiver.
> Let’s say a SETTINGS frame has two values for SETTINGS_HEADER_TABLE_SIZE
> (i.e. specified twice).  The first value (e.g. at index=0) is 1KB and the
> second value (e.g. at index=1) is 60KB.
> Does the receiver apply the table size change just once with a value of
> 60KB.  Or does he first shrink the table size to 1KB and then expand the
> table to 60KB?

​The latter is correct.  All SETTINGS must be processed in the order.
There may be some SETTINGS values you can skip to process. For example, you
might see 3 SETTINGS_HEADER_TABLE_SIZE entries in this order: 0, 16KB,
32KB, then 16KB can be safely ignored.

The behavior of multiple SETTINGS_HEADER_TABLE_SIZE is ​explained in detail
in http://http2.github.io/http2-spec/compression.html#maximum.table.size

Best regards,
Tatsuhiro Tsujikawa
Received on Saturday, 17 January 2015 02:59:40 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:14:42 UTC