Re: SETTINGS_WEBSOCKET_CAPABLE | Re: WebSocket2

Takeshi Yoshino <tyoshino@google.com> Thu, 13 October 2016 07:26 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 D94F6129420 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 13 Oct 2016 00:26:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.516
X-Spam-Level:
X-Spam-Status: No, score=-9.516 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, RP_MATCHES_RCVD=-2.996, 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=google.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 hh7-rSu6WAiq for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 13 Oct 2016 00:26:14 -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 3BDA51295C7 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 13 Oct 2016 00:26:14 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1buaKv-0005b6-4d for ietf-http-wg-dist@listhub.w3.org; Thu, 13 Oct 2016 07:21:53 +0000
Resent-Date: Thu, 13 Oct 2016 07:21:53 +0000
Resent-Message-Id: <E1buaKv-0005b6-4d@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 <tyoshino@google.com>) id 1buaKp-0005a4-QM for ietf-http-wg@listhub.w3.org; Thu, 13 Oct 2016 07:21:47 +0000
Received: from mail-io0-f180.google.com ([209.85.223.180]) by lisa.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <tyoshino@google.com>) id 1buaKm-00072D-JF for ietf-http-wg@w3.org; Thu, 13 Oct 2016 07:21:45 +0000
Received: by mail-io0-f180.google.com with SMTP id j37so75938183ioo.3 for <ietf-http-wg@w3.org>; Thu, 13 Oct 2016 00:21:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=er1MWBrlYr7sAhFPSbOmJE3mnXRQS/hWdnjw8ycPFw4=; b=oSOYQe17m+k7P4mYpJvHHYifeuVGaV6nRmznpVTT2dnN7bnqQJ+yycTihzFhDUw4pu NnrT2S/Px+lDtv+GKPddKWDHAQx3O/ag+Yhj8t3YzjQZUwR+l1TCvgO0/uRLivSXu8ix HB0Y+D7+8TyKyxsoky90cWRXq+S3KV9nB8lt8ARpbcL5POggsxZvWL6iUgty562DtpF5 ikmYCc6LlZjShZr7Tqy98+r7hLrUg4b/lSKU+JhVIXwJ4zfAYIcv4bhMzp0Vit91WeD0 lJCXF2JqXn6Elw/pDz/QuQ2o2BT4ew2zFwDTAhIp8uVpeKW5tYZh7TTEHRjzK6g+pwMd kFzQ==
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=er1MWBrlYr7sAhFPSbOmJE3mnXRQS/hWdnjw8ycPFw4=; b=mBw47tsF4T5D5cJN4O0KZi8b7k67pxIMquxQtCdozKE6j20S3spF3HK6dKYjU36xvE knWHiIvri8FI9yN3dcApQRjerzRGDvd/Kg6OVilAjMQUVxeLViLyXmDCueHevBD1rY2/ aHQs/fWfzxd0fM0Q/v0YZ0pvgwwpBZJcVRl2NxAH5gUC/p5j0NrjOY/b3ptQPokid24M 4jf9O8m3lesrhJqtiC1hMbTr8zPdT/HhBMA1VvenFpdLgu1fv2OKIPCSvC5fMxyXKKz0 b0+z4ySL1ifq2DDqOIVBNCkQSsNzTnUmD95ENFKFNjuwxictRLsT0X4R2l8YY2N0l6yy di9g==
X-Gm-Message-State: AA6/9RnTJncoFqs5ifv3UsI0Oa4PjLyR9aJAzitLZNwmnliRqVdB4w766afTwOyHjSTw6lxQvGXSLmzTBs9s/Y6X
X-Received: by 10.107.154.134 with SMTP id c128mr6145879ioe.184.1476343278283; Thu, 13 Oct 2016 00:21:18 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.79.79.198 with HTTP; Thu, 13 Oct 2016 00:20:57 -0700 (PDT)
In-Reply-To: <201610050703.u95732mX018193@shell.siilo.fmi.fi>
References: <CAG-EYChPJpAzoEuNwY3cNz503d0FRbNnDx_9AsNsZyfb5nmN0g@mail.gmail.com> <20161002080030.5F328160CC@welho-filter4.welho.com> <20161002101548.GA9450@LK-Perkele-V2.elisa-laajakaista.fi> <201610021110.u92BAWpi019029@shell.siilo.fmi.fi> <20161002124346.GB9450@LK-Perkele-V2.elisa-laajakaista.fi> <201610021340.u92DeBBL029907@shell.siilo.fmi.fi> <20161002171905.GA10108@LK-Perkele-V2.elisa-laajakaista.fi> <201610030440.u934e3kL031002@shell.siilo.fmi.fi> <CAG-EYCgEs1oSdLeLVwd12ECaL=+3pzytuy89xFWvvKCEY8fi4g@mail.gmail.com> <CAH9hSJaMsKaoTK+kr2X_GP_T7=jcDQtFLSusYrV+nDWCadcyxg@mail.gmail.com> <201610041520.u94FK6vV008976@shell.siilo.fmi.fi> <CAH9hSJY40AnYE1JTuc1aYFzRtaT-+PwX8M7YeVj2cbosCfD0TQ@mail.gmail.com> <201610050703.u95732mX018193@shell.siilo.fmi.fi>
From: Takeshi Yoshino <tyoshino@google.com>
Date: Thu, 13 Oct 2016 16:20:57 +0900
Message-ID: <CAH9hSJaWXJWH4mK3J3WyHGtc4ohKyDL-AGcGYsJMj=6hob_ChQ@mail.gmail.com>
To: Kari Hurtta <hurtta-ietf@elmme-mailer.org>
Cc: Van Catha <vans554@gmail.com>, Ilari Liusvaara <ilariliusvaara@welho.com>, HTTP working group mailing list <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="001a1140b9a4ab98b4053eb9f4dd"
Received-SPF: pass client-ip=209.85.223.180; envelope-from=tyoshino@google.com; helo=mail-io0-f180.google.com
X-W3C-Hub-Spam-Status: No, score=-5.9
X-W3C-Hub-Spam-Report: AWL=-0.041, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_SORBS_SPAM=0.5, RP_MATCHES_RCVD=-0.362, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: lisa.w3.org 1buaKm-00072D-JF 057e2b4b45010bc82e9ce194b0e0a6dc
X-Original-To: ietf-http-wg@w3.org
Subject: Re: SETTINGS_WEBSOCKET_CAPABLE | Re: WebSocket2
Archived-At: <http://www.w3.org/mid/CAH9hSJaWXJWH4mK3J3WyHGtc4ohKyDL-AGcGYsJMj=6hob_ChQ@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32569
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 Kari,

Sorry for belated reply.

On Wed, Oct 5, 2016 at 4:03 PM, Kari Hurtta <hurtta-ietf@elmme-mailer.org>
wrote:

<snip>


> Quote from WiSH ( https://github.com/bidiweb/wish/blob/master/draft-
> yoshino-wish-00.txt )
> gives more backgroud:
>
> |   responses.  Since proxies may buffer response body, communication
> |   over WiSH may experience extra latency compared to WebSocket.  When
> |   HTTPS is used, response buffering by proxies is less likely an issue.
>
> Even when proxy does not cache ":scheme" or ":method",
> it may buffer assumed HTTP request or response body.
>
> Idelly DATA frames for ":scheme" = "wss" and "ws" want to
> be sent immediately when underline protocol stack is empty
> (TCP window have space, TCP/Sockect write buffers are empty,
>  possible TLS write buffers are empty) and HTTP/2 flow
> control windows for that sream have space and HTTP/2
> priority tree say that that stream is correct for writing.
>
> ( same apply for ":method" = "CONNECT" )
>

Yes, it's great if the HTTP2 layer guarantee such characteristics. It's
trade-off.

<snip>

> There're two approaches to realize this:
> > (a) let the server send SETTINGS and let the client send handshake
> > speculatively without waiting for the SETTINGS
> > (b) let the client send SETTINGS and then send handshake speculatively,
> and
> > let the server determine the response status code based on whether or not
> > it has received SETTINGS as specified in Yutaka's I-D.
> >
> > (a) still gives the client path check result before receiving the
> WebSocket
> > handshake response, but it's not good that the server cannot know whether
> > the path was good or not before accepting the WebSocket handshake.
>
> yet one more possibility:
>
> It is also possible that HTTP/2 server sets SETTINGS_WEBSOCKET_CAPABLE = 1
> on initial SETTINGS which is part of server greeting.  This add little
> overhead on case where client does not use websockect2.
>

I think you meant the SETTINGS sent following the connection preface
(following the Finished message of TLS from the server).

Yeah, that's another option with some disadvantage as you described.

<snip>


> On another context Mike Bishop wrte (
> https://lists.w3.org/Archives/Public/ietf-http-wg/2016OctDec/0037.html )
>
> ยค Should we just define SETTINGS_MIXED_SCHEME_PERMITTED and call it a day?
>
> I realize that ":scheme" = "wss" or "ws" sent on same HTTP/2 connection
> than what is used for ":scheme" = "https", is also just one case of
> for mixed scheme.
>
> I wrote ( https://lists.w3.org/Archives/Public/ietf-http-wg/
> 2016OctDec/0044.html )
>
> | connection apply probably for several origins. TLS connection
> | may be terminated by reverse proxy. And different origins
> | are served by different processes or servers behind of
> | reverse proxy.
> |
> | I guess that SETTINGS_MIXED_SCHEME_PERMITTED is too wide.
>
>
> This may apply also for SETTINGS_WEBSOCKET_CAPABLE. However confusing
> between ":scheme" = "http" and "https" is more dangerous than between
> :scheme" = "wss" and "https".
>

Oh, good point. I wasn't aware of that.