- From: Cory Benfield <cory@lukasa.co.uk>
- Date: Mon, 19 Oct 2015 17:12:50 +0100
- To: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
- Cc: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Received on Monday, 19 October 2015 16:13:21 UTC
> On 19 Oct 2015, at 16:59, Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> wrote: > > 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. Yeah, see, I read it the other way. My reading of section 4.2 of RFC 7541 emphasises this: “a *change* in the maximum size […] is signalled”. But you’re right that it’s ambiguous. In this case, I’d say that an implementation MAY emit a dynamic table size update if the size is unchanged (because it’s a no-op), but MUST do so if it has changed. For implementation simplicity, many implementations will chose to always emit that size update, but equally many implementations will not. If we’re counting, my own implementation does the same thing as Google’s: see here[0]. Specifically, I don’t think the HPACK layer should complain because a dynamic table size update was not received when the dynamic table size did not change. In this instance I believe nghttp2 is being overly strict about the relationship between the HTTP/2 layer and the HPACK layer. Cory [0]: https://github.com/python-hyper/hpack/blob/master/hpack/table.py#L188
Received on Monday, 19 October 2015 16:13:21 UTC