Re: Call for Consensus: Frame size (to address #553)

On Jul 14, 2014, at 12:21 PM, Poul-Henning Kamp <phk@phk.freebsd.dk> wrote:

> In message <8E722FAA-1157-4638-AC25-96A756CE93E9@gmail.com>, Yoav Nir writes:
> 
>>> In message <CA+pLO_h2799vs37eY1HaSnBUmcGkGW-tmjTCJe1WeKZJRAtQGA@mail.gmail.com>, Jeff Pinner writes:
>>> 
>>>> So am I to read this as a client might advertise a max frame size of
>>>> 256 bytes and then request a 2GB file?
>>> 
>>> yes.
>>> 
>>> And the server is free to return 418 or react in any other way it might
>>> find appropriate.
>> 
>> 'free to' yes, but if we're going to say that clients advertise a 
>> max frame size that MUST be at least 256 bytes, then we should have a 
>> SHOULD-level requirement for servers to work with such a limit.
> 
> How is a client advertising 256 bytes different from a server
> advertising a 256 byte max frame ?

No different at all. It was just more convenient that writing “one side” and “other side” all the time.

> And what exactly would the SHOULD level requirement make anybody do
> differently anyway ?

It means that if you are creating a client (or server) that supports HTTP/2, then you SHOULD be able to work with a server (or client) that advertises a 256-byte max-framesize. Otherwise we get two perfectly legitimate implementations that fail to interoperate. That’s a bad thing.

>> If we think that 256 bytes is too low to require servers to work with, 
>> then maybe we should set the min-max-frame to something higher, [...]
> 
> Why should we force applications for whom 256 is plenty to use something
> higher ?  Who gains anything by us doing so ?  And if we insist on some
> lower limit which is onerous for tiny devices, do you think they are
> going to spend 8 times more for their microcontroller or ignore what
> we say ?
> 
> The 256 limit is simply to make sure that any HTTP/2 implementation will
> always support "GET /" and "GET /robots.txt" and nothing more.

They won’t be able to support “GET /robots.txt” if the other implementation blocks with a strange new status code whenever max-framesize is set to 256.

Yoav

Received on Monday, 14 July 2014 10:00:27 UTC