Send SETTINGS_MAX_HEADER_LIST_SIZE |
||
Issue descriptionHTTP/2 implementation enforces 256KB header list size limit. We should consider advertising this to peers via SETTINGS_MAX_HEADER_LIST_SIZE.
,
Jul 24 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/48c4ddfd57b22f94ceaa778c0456d9e328f278d0 commit 48c4ddfd57b22f94ceaa778c0456d9e328f278d0 Author: Bence Béky <bnc@chromium.org> Date: Mon Jul 24 23:14:34 2017 Advertise MAX_HEADER_LIST_SIZE in initial SETTINGS frame. Advertise SETTINGS_MAX_HEADER_LIST_SIZE in HTTP/2 initial SETTINGS frame. Also, plumb this setting through the following way: NetworkSessionConfigurator may or may not add SETTINGS_MAX_HEADER_LIST_SIZE value to HttpNetworkSession::Param::http2_settings based on field trials. This is passed on to HttpNetworkSession, which sets a default value of 256 kB if no value is present. (This limit has already been enforced in HeaderCoalescer.) This then gets passed to SpdySessionPool, then to SpdySession, which sends it out in the initial SETTINGS frame. Also, SpdySession passes it so BufferedSpdyFramer, which passes this value to SpdyFramer to HpackDecoder3 to Http2HpackDecoder to HpackWholeEntryBuffer to limit the size of any header name or value at the buffering stage, and also to HeaderCoalescer to enforce the limit on the total size of the header block. BUG= 741032 Change-Id: I5d49e2f67357aa9936203442dd25fa71f3ca61cd Reviewed-on: https://chromium-review.googlesource.com/571292 Reviewed-by: Ryan Hamilton <rch@chromium.org> Commit-Queue: Bence Béky <bnc@chromium.org> Cr-Commit-Position: refs/heads/master@{#489130} [modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/http/http_network_session.cc [modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/http/http_network_session.h [modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/buffered_spdy_framer.cc [modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/buffered_spdy_framer.h [modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/buffered_spdy_framer_unittest.cc [modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/header_coalescer.cc [modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/header_coalescer.h [modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/header_coalescer_test.cc [modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/spdy_network_transaction_unittest.cc [modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/spdy_session.cc [modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/spdy_session_unittest.cc [modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/spdy_test_util_common.cc [modify] https://crrev.com/48c4ddfd57b22f94ceaa778c0456d9e328f278d0/net/spdy/chromium/spdy_test_util_common.h
,
Jul 24 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by b...@chromium.org
, Jul 14 2017Status: Started (was: Untriaged)