- From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
- Date: Tue, 20 Oct 2015 00:59:26 +0900
- To: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
- Message-ID: <CAPyZ6=+wnoJ4o3g4eS3B2Om3Yqk+wD1_9L6HKWqT8-A4cztnBQ@mail.gmail.com>
Hi, I got the bug report from nghttp2 user: https://github.com/tatsuhiro-t/nghttp2/issues/396 When nghttp client sends SETTINGS_HEADER_TABLE_SIZE=4096 in the first SETTINGS, it looks like google server does not send back dynamic table size update. This is probably because they think that it is not necessary because table size is not changed. I'd like to clarify this is a valid behavior. Specification is not clear enough in this special case. So the question is whether we are required to send dynamic table size update as acknowledgement for SETTINGS_HEADER_TABLE_SIZE if it is included in SETTINGS? In https://tools.ietf.org/html/rfc7540#section-6.5.2 ``` SETTINGS_HEADER_TABLE_SIZE (0x1): Allows the sender to inform the remote endpoint of the maximum size of the header compression table used to decode header blocks, in octets. The encoder can select any size equal to or less than this value by using signaling specific to the header compression format inside a header block (see [COMPRESSION]). The initial value is 4,096 octets. ``` In https://tools.ietf.org/html/rfc7541#section-4.2 ``` A change in the maximum size of the dynamic table is signaled via a dynamic table size update (see Section 6.3). This dynamic table size update MUST occur at the beginning of the first header block following the change to the dynamic table size. In HTTP/2, this follows a settings acknowledgment (see Section 6.5.3 of [HTTP2]). ``` In https://tools.ietf.org/html/rfc7541#section-6.3 ``` The new maximum size MUST be lower than or equal to the limit determined by the protocol using HPACK. A value that exceeds this limit MUST be treated as a decoding error. In HTTP/2, this limit is the last value of the SETTINGS_HEADER_TABLE_SIZE parameter (see Section 6.5.2 of [HTTP2]) received from the decoder and acknowledged by the encoder (see Section 6.5.3 of [HTTP2]). ``` I can read that dynamic table size update is always necessary as acknowledgement of SETTINGS_HEADER_TABLE_SIZE if it is present in SETTINGS. But someone can read in the other way. Best regards, Tatsuhiro Tsujikawa
Received on Monday, 19 October 2015 16:00:16 UTC