Re: Quick review for draft-svirid-websocket2-over-http2 (Was: Re: Draft HTTPbis Agenda For Seoul IETF 97)

Kazuho Oku <kazuhooku@gmail.com> Thu, 20 October 2016 00:54 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61CCF1294FC for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 19 Oct 2016 17:54:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.432
X-Spam-Level:
X-Spam-Status: No, score=-7.432 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.431, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 rPpF5J_GWV_n for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 19 Oct 2016 17:54:18 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 94BFC1200DF for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 19 Oct 2016 17:54:18 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1bx1YI-0000iC-DS for ietf-http-wg-dist@listhub.w3.org; Thu, 20 Oct 2016 00:49:46 +0000
Resent-Date: Thu, 20 Oct 2016 00:49:46 +0000
Resent-Message-Id: <E1bx1YI-0000iC-DS@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <kazuhooku@gmail.com>) id 1bx1YB-0000hM-7P for ietf-http-wg@listhub.w3.org; Thu, 20 Oct 2016 00:49:39 +0000
Received: from mail-lf0-f49.google.com ([209.85.215.49]) by lisa.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <kazuhooku@gmail.com>) id 1bx1Xm-0000xn-F4 for ietf-http-wg@w3.org; Thu, 20 Oct 2016 00:49:30 +0000
Received: by mail-lf0-f49.google.com with SMTP id l131so50204280lfl.2 for <ietf-http-wg@w3.org>; Wed, 19 Oct 2016 17:48:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=3ExcievUBFQ83zhlhAMeLhLeu+fNRVOQDZjSBIhsbVQ=; b=Xt1Fja91Qv1bSOw6NDDfjw9kZxbF32lD5P6Ysc1jsNx6bIxPj7IkfSO+n/M1vmAfBg 3fPy/QkDmxj3MaEhfwUohdP6VwkaLWqwavVrDSYwoLOZDxHUyPXTNlW3Kr1Gp2QNrRyn 72MTonQKBoP+QEU8T3hjUfskZpF2h4r6pJxhn+on4kSD4+iwX38Wnge3H8KqDAJCDUX0 CsNEahOycZCag+6T8GJDZOwu+2gtXy+ABTXD5Mzfkj4bmmavaK14PDClBeRvGPWGE/QQ qCSjTfm4WtzNqvJzrZ+NlAESCsGF5wD+Z8V2vhCa1s3q9NisVdG+spsYXNZ1cSv9WFr6 XUsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=3ExcievUBFQ83zhlhAMeLhLeu+fNRVOQDZjSBIhsbVQ=; b=CPLfRA3QWoqxeWYs1UyIJntaAVkOUbU3qqnGPyy0XmjMo9i1r+XiwxhUpBSYD6KevU qW7EM62OSbla6HfdTA+tfmrpZc0E7BLfxYl4rofkt+OYaT79SC3MOQ3GvBMKFTJht67l yrQltHuOSlOniYdpJ7WP6rluJRdrsPhigPJHTU9YiSMbx9ly2MvkrcZTpne5hFITnRPM 6f4+dNoTm8aknDBAohrwF96Uh74AjcG5fRyAHXIEzUgUuqVAULzJoGd8bw4VnRkLVeqi /iiFcCazqlkNG+x2363/TazfaWlXsjOkPbP6W3GEcXp5CHrjgZqcO2C/UlBXK9i0C76/ AHvQ==
X-Gm-Message-State: AA6/9RmmDWEJwI8GWuKtyiawnYr0ycSYDZc6PzRE51IHt0e9QaBrpGd6uY8s1r8SheuAIz2k8djx6Unb5tqaXQ==
X-Received: by 10.28.69.13 with SMTP id s13mr7147227wma.123.1476924526992; Wed, 19 Oct 2016 17:48:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.194.80.233 with HTTP; Wed, 19 Oct 2016 17:48:45 -0700 (PDT)
In-Reply-To: <20161019165045.GA4278@LK-Perkele-V2.elisa-laajakaista.fi>
References: <CAOdDvNrLJVxrPV54Jk3gKXmnZQQo8KGhaaCUu19phCLsP_H9zQ@mail.gmail.com> <CAG-EYCiJQQBe5_=vSn5sCC2inJgj+Pc6ePxgzw20AyzY1hAq7w@mail.gmail.com> <20161019165045.GA4278@LK-Perkele-V2.elisa-laajakaista.fi>
From: Kazuho Oku <kazuhooku@gmail.com>
Date: Thu, 20 Oct 2016 09:48:45 +0900
Message-ID: <CANatvzzJ89JKteRrhO19c6gmw5xdbZMKMFwUPjQpQhjWM1VOvA@mail.gmail.com>
To: Ilari Liusvaara <ilariliusvaara@welho.com>
Cc: Van Catha <vans554@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=209.85.215.49; envelope-from=kazuhooku@gmail.com; helo=mail-lf0-f49.google.com
X-W3C-Hub-Spam-Status: No, score=-4.7
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: lisa.w3.org 1bx1Xm-0000xn-F4 9ec7bd9a55b820cbcf1e6f93acd9da3f
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Quick review for draft-svirid-websocket2-over-http2 (Was: Re: Draft HTTPbis Agenda For Seoul IETF 97)
Archived-At: <http://www.w3.org/mid/CANatvzzJ89JKteRrhO19c6gmw5xdbZMKMFwUPjQpQhjWM1VOvA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32645
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Hi,

2016-10-20 1:50 GMT+09:00 Ilari Liusvaara <ilariliusvaara@welho.com>:
> On Wed, Oct 19, 2016 at 10:03:18AM -0400, Van Catha wrote:
>> I am particularly interest in the future of 2 way binary streaming.  So the
>> topics of WebSocket, Streams API and other related. I have even put forward
>> a draft related to the WebSocket part.
>> https://datatracker.ietf.org/doc/draft-svirid-websocket2-over-http2/
>
> Some quick review comments:
>
> - The handshake seems to negotiate compression and then the frames
>   contain compression method indicator. Are there really multiple
>   compression methods available on per-frame basis, or should the
>   compression just be 1 bit (compressed or not)?
> - The abbrevations in frame diagram are bit difficult to understand
>   (have those be expanded in above text?).
> - Somebody needs to try what this does against many HTTP/2 origins
>   that don't support WebSockets2 and against intermediaries with
>   custom server that actually supports it. Just to see what the
>   heck happens (if it is nasty, one might need to use SETTINGS to
>   signal support, either for WebSockets directly or for some sort
>   of strict scheme).

That's a good point.

In case of H2O, all schemes are handling equally at the protocol
layer. In other words, whatever the :scheme is, the server is designed
to wait for a request, and then send response.

My understanding is that the HTTP/2 specification is written in mind
to allow such implementations, and that it would be a violation of
HTTP/2 to introduce different interactions by using :scheme as an
indicator. For example, transition of the stream states described in
section 5.1 is not restricted to specific schemes.

So if we are to start using the HTTP/2 framing layer to transmit
websocket or other bi-directional communication, I think we should
require negotiation using SETTINGS frame. Also, it might be beneficial
to use a frame type other than DATA to convey bi-directional
information to avoid potential issues (since the transition of the
stream states are mostly related to how DATA frames are handled).

> - What is "valid UTF-8" exactly? E.g. does it contain encodings for
>   Unicode noncharacters?
>
>
> -Ilari
>



-- 
Kazuho Oku