Re: Working Group Last Call: Bootstrapping WebSockets with HTTP/2

On Thu, Mar 29, 2018 at 11:38:35AM -0400, Bence Béky wrote:
> Hi,
> 
> I would like to propose to add some language to the specification about
> END_STREAM flag on DATA frames.  The example in Section 5.1
> <https://tools.ietf.org/id/draft-ietf-httpbis-h2-websockets-01.html#rfc.section.5.1>
> indicates END_STREAM on the last DATA frames, but these is no other mention
> of this flag.  Chromium's implementation currently does not set the
> END_STREAM flag on any DATA frames sent, but instead resets the stream when
> it's destructed, which I do not believe is the most elegant approach.
> 
> Something along the lines of "Peers MUST set the END_STREAM flag (defined
> in RFC7540 Section 6.1) on any DATA frame sent that contains the entirety
> of or the last fragment of a WebSocket Close frame (defined in RFC6455
> Section 5.5.1).", appended to the end of Section 5, just above 5.1.

As worded, in the aforementioned HTTP/2<->HTTP/1.1 transparent proxy case, this
would require the proxy to inspect and parse the WS frames to detect when the
HTTP/1.1 origin (or client) sends a Close frame, instead of just blindly
proxying data as is currently the case for HTTP/1.1<->HTTP/1.1. So I'd relax
the MUST to a SHOULD, or explicitly exclude proxies from the requirement.
Otherwise looks good to me.

Cheers

Received on Tuesday, 3 April 2018 18:10:39 UTC