Re: [hybi] Straw poll: Do you miss interjectable WebSocket level control frame? (was: Re: Discontinuation of mux ...)

Tobias Oberstein <tobias.oberstein@tavendo.de> Wed, 19 February 2014 11:46 UTC

Return-Path: <tobias.oberstein@tavendo.de>
X-Original-To: hybi@ietfa.amsl.com
Delivered-To: hybi@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 44AB51A0482 for <hybi@ietfa.amsl.com>; Wed, 19 Feb 2014 03:46:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SKLnCpXHwedJ for <hybi@ietfa.amsl.com>; Wed, 19 Feb 2014 03:46:01 -0800 (PST)
Received: from EXHUB020-2.exch020.serverdata.net (exhub020-2.exch020.serverdata.net [206.225.164.29]) by ietfa.amsl.com (Postfix) with ESMTP id CF2C41A03D0 for <hybi@ietf.org>; Wed, 19 Feb 2014 03:46:00 -0800 (PST)
Received: from EXVMBX020-12.exch020.serverdata.net ([169.254.3.11]) by EXHUB020-2.exch020.serverdata.net ([206.225.164.29]) with mapi; Wed, 19 Feb 2014 03:45:56 -0800
From: Tobias Oberstein <tobias.oberstein@tavendo.de>
To: Takeshi Yoshino <tyoshino@google.com>, Yutaka Hirano <yhirano@google.com>, Peter Thorson <webmaster@zaphoyd.com>, Roberto Peon <fenix@google.com>, "hybi@ietf.org" <hybi@ietf.org>
Date: Wed, 19 Feb 2014 03:45:52 -0800
Thread-Topic: Straw poll: Do you miss interjectable WebSocket level control frame? (was: Re: [hybi] Discontinuation of mux ...)
Thread-Index: Ac8tKc9VFZCVubpLRiC/+L/v0gLoSwAPBnAw
Message-ID: <634914A010D0B943A035D226786325D4446C537686@EXVMBX020-12.exch020.serverdata.net>
References: <CAH9hSJbjQNKnZTJmBFtU8MgmnRTYjPopC4oP_78bWUGap-9CvA@mail.gmail.com>
In-Reply-To: <CAH9hSJbjQNKnZTJmBFtU8MgmnRTYjPopC4oP_78bWUGap-9CvA@mail.gmail.com>
Accept-Language: de-DE, en-US
Content-Language: de-DE
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: de-DE, en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/hybi/Xz_gTZGtVKQHh_dPYnAvFC3-loA
Subject: Re: [hybi] Straw poll: Do you miss interjectable WebSocket level control frame? (was: Re: Discontinuation of mux ...)
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi/>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Feb 2014 11:46:03 -0000

>The second point I want to hear your opinion is: "do you miss interjectable WebSocket level control frame?"

>Since RFC 6455's control frames can be interjected in the middle of a data message, to keep this as-is, we need to prevent FRAME boundary from being modified by multiplexing mechanism. Possible solutions are:
>- encapsulate WebSocket frame
>- prepare some mechanism (HTTP/2.0 frame type) in HTTP/2.0 layer similar to HTTP/2.0 PING frame that provides a box to which we can map WebSocket level control (PING/PONG/CLOSE/and other reserved control opcodes)

>Please respond to this thread with your answer and rationale.

I don't think this should be removed from RFC6455.

The extension mechanisms of RFC6455 allow for flexible design of WebSocket extensions. Being able to interject existing and new control messages, and to interleave multiple data messages is part of that flexibility.
 
Also: there seems to be an outburst of "lets remove X" from RFC6455 initiatives lately.

Not sure, but it's my impression that these are all related to the desire for some kind of WebSocket-over-HTTP2 protocol. And more so: to mold RFC6455 so that it "fits into HTTP2".

I don't agree with that approach. I think HTTP2 should take WebSocket "as is", if it wants to act as a transport instead of attempting to redefine it. Or define it's own messaging (not bound by WS).

/Tobias