RE: Issue with the H2 state machine

No problem, I know it's a little weird.  The logic is that, because the HEADERS frame can't be processed individually, HEADERS+CONTINUATION get treated as a single very large HEADERS frame.

-----Original Message-----
From: Willy Tarreau [mailto:w@1wt.eu] 
Sent: Monday, July 24, 2017 10:15 PM
To: Mike Bishop <Michael.Bishop@microsoft.com>
Cc: Ilari Liusvaara <ilariliusvaara@welho.com>; ietf-http-wg@w3.org
Subject: Re: Issue with the H2 state machine

Hi Mike,

On Mon, Jul 24, 2017 at 05:16:42PM +0000, Mike Bishop wrote:
> No, because that would prohibit ridiculously large trailers (i.e. 
> using CONTINUATION), which might be stupid but are permitted.  The 
> spec is saying that any HEADERS frame after the final status code has 
> to be trailers, and therefore that block is the last thing on the 
> stream.  Alternatively stated, you can't send your trailers but then send more body.

Thanks, now I understand my mistake. I did not realize that the ES bit had to be put on the HEADERS frame even if there are CONTINUATION frames but now I found where it's mentionned and all of this makes sense. It'll require some changes to my state machine, but that's exactly why I prefered to be sure to be able to deal with CONTINUATION frames from the start ;-)

Cheers,
Willy

Received on Tuesday, 25 July 2017 16:37:33 UTC