On Fri, Feb 28, 2014 at 3:25 AM, Martin Thomson <martin.thomson@gmail.com>wrote:
> On 26 February 2014 21:14, Kazu Yamamoto <kazu@iij.ad.jp> wrote:
> > Why SETTINGS_MAX_CONCURRENT_STREAMS and SETTINGS_INITIAL_WINDOW_SIZE
> > are MUST for Upgrade but optional for Direct and TLS?
>
> There's an asymmetry between Upgrade and the other modes. In Upgrade,
> the server gets the first opportunity to send it's SETTINGS. That
> means that clients are potentially exposed to the default values of
> these values, but only if they Upgrade.
>
It seems you're again explaining just the reason why we have the
HTTP2-Settings field in the Upgrade request. Sorry if it's just my bad.
Even when to start HTTP2 w/ prior knowledge, if the SETTINGS following the
client preface doesn't contain those parameters like an empty SETTINGS
frame as Cory mentioned, the clients are exposed to the default values. I
think Kazu is wondering why those two parameters are not also mandated for
such a preface SETTINGS frame exchanged in non-Upgrade modes.