Re: [hybi] WebTransport Side Meeting (Tuesday, 15:20)

Eric Kinnear <ekinnear@apple.com> Mon, 22 July 2019 21:32 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 55AD31200A3 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 22 Jul 2019 14:32:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.752
X-Spam-Level:
X-Spam-Status: No, score=-2.752 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.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 hKNGbwqkq68k for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 22 Jul 2019 14:32:05 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [IPv6:2603:400a:ffff:804:801e:34:0:38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B241312001B for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 22 Jul 2019 14:32:05 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1hpfsQ-0001Dw-TE for ietf-http-wg-dist@listhub.w3.org; Mon, 22 Jul 2019 21:29:46 +0000
Resent-Date: Mon, 22 Jul 2019 21:29:46 +0000
Resent-Message-Id: <E1hpfsQ-0001Dw-TE@frink.w3.org>
Received: from titan.w3.org ([2603:400a:ffff:804:801e:34:0:4c]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <ekinnear@apple.com>) id 1hpfsO-0001DB-Ee for ietf-http-wg@listhub.w3.org; Mon, 22 Jul 2019 21:29:44 +0000
Received: from ma1-aaemail-dr-lapp03.apple.com ([17.171.2.72]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <ekinnear@apple.com>) id 1hpfsJ-0003ja-Gl for ietf-http-wg@w3.org; Mon, 22 Jul 2019 21:29:43 +0000
Received: from pps.filterd (ma1-aaemail-dr-lapp03.apple.com [127.0.0.1]) by ma1-aaemail-dr-lapp03.apple.com (8.16.0.27/8.16.0.27) with SMTP id x6MLM69N062761; Mon, 22 Jul 2019 14:29:13 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=sender : content-type : mime-version : subject : from : in-reply-to : date : cc : content-transfer-encoding : message-id : references : to; s=20180706; bh=Mjp+2BlrZ2RjXqmOsoC9wmr6feKbPVzKF5onqcpmZqQ=; b=SSUjTpiePl98fdqT/fXYJCj9LCZJVpF+JZAATCtw6the8n9jJ2S7b455Rb81pAffVeZP oT6nWsN/4TWUcf+OflhbsgVbt0gCZchayfItP748m/KRgewtMxEo8jOlQgdx3ysWNLc3 qtvddUQ/QJIUr1xRGA1Zeo0chKUs5Ftn4Z9P0NeM7R1f0B+vYlNiAIWsyCD7FIts0ngl Pi5TF+xjouvrEhx/KFpLpWdydtvuuiX//ayo6ftd2K3WWIjFprPIBG1dMBFq3sdKBT8/ VngibxOhAM1RUNVlgkdYZOd+ntnXLxsxgKySV2H5sfzapk0dzb6IOwf+OfL19zLNgR/r OQ==
Received: from ma1-mtap-s02.corp.apple.com (ma1-mtap-s02.corp.apple.com [17.40.76.6]) by ma1-aaemail-dr-lapp03.apple.com with ESMTP id 2tv1xymqf4-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Mon, 22 Jul 2019 14:29:13 -0700
Received: from nwk-mmpp-sz10.apple.com (nwk-mmpp-sz10.apple.com [17.128.115.122]) by ma1-mtap-s02.corp.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) with ESMTPS id <0PV200BQ4BOOYL60@ma1-mtap-s02.corp.apple.com>; Mon, 22 Jul 2019 14:29:13 -0700 (PDT)
Received: from process_milters-daemon.nwk-mmpp-sz10.apple.com by nwk-mmpp-sz10.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) id <0PV200K00AP1BB00@nwk-mmpp-sz10.apple.com>; Mon, 22 Jul 2019 14:29:12 -0700 (PDT)
X-Va-A:
X-Va-T-CD: 68f2109845201c7217a51c1ddd85d479
X-Va-E-CD: 0d3c3e2cca636b8155b399dd19473f9c
X-Va-R-CD: 8aa891bccd01e26013fb581b8aa95994
X-Va-CD: 0
X-Va-ID: 4910b7c8-b14a-406b-9e46-9a1e7d5a72cc
X-V-A:
X-V-T-CD: 68f2109845201c7217a51c1ddd85d479
X-V-E-CD: 0d3c3e2cca636b8155b399dd19473f9c
X-V-R-CD: 8aa891bccd01e26013fb581b8aa95994
X-V-CD: 0
X-V-ID: be48a199-b79c-4fa2-96ab-7383782d1cc7
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-07-22_15:,, signatures=0
Received: from [17.235.124.103] (unknown [17.235.124.103]) by nwk-mmpp-sz10.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) with ESMTPSA id <0PV2006FQBOM7410@nwk-mmpp-sz10.apple.com>; Mon, 22 Jul 2019 14:29:12 -0700 (PDT)
Sender: ekinnear@apple.com
Content-type: text/plain; charset="utf-8"
MIME-version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: Eric Kinnear <ekinnear@apple.com>
In-reply-to: <5c631764-25e2-ce37-3f84-8eca5a8378eb@warmcat.com>
Date: Mon, 22 Jul 2019 17:29:09 -0400
Cc: Victor Vasiliev <vasilvv=40google.com@dmarc.ietf.org>, dispatch@ietf.org, David Schinazi <dschinazi@google.com>, hybi@ietf.org, IETF QUIC WG <quic@ietf.org>, HTTP Working Group <ietf-http-wg@w3.org>
Content-transfer-encoding: quoted-printable
Message-id: <E8ABA72D-541E-45BE-B032-237CAC37F3A8@apple.com>
References: <CAAZdMacqbqYVs4MeoE-ahukgLzf0+nNhNip4HTGThobXhqCceQ@mail.gmail.com> <5c631764-25e2-ce37-3f84-8eca5a8378eb@warmcat.com>
To: Andy Green <andy@warmcat.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-07-22_15:, , signatures=0
Received-SPF: pass client-ip=17.171.2.72; envelope-from=ekinnear@apple.com; helo=ma1-aaemail-dr-lapp03.apple.com
X-W3C-Hub-Spam-Status: No, score=-3.8
X-W3C-Hub-Spam-Report: AWL=0.339, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1hpfsJ-0003ja-Gl 1c0ba5fd311c87920aee1802f686ee64
X-Original-To: ietf-http-wg@w3.org
Subject: Re: [hybi] WebTransport Side Meeting (Tuesday, 15:20)
Archived-At: <https://www.w3.org/mid/E8ABA72D-541E-45BE-B032-237CAC37F3A8@apple.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/36819
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: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>


> On Jul 22, 2019, at 4:59 PM, Andy Green <andy@warmcat.com> wrote:
> 
> 
> 
> On 7/22/19 1:36 PM, Victor Vasiliev wrote:
>> Hello everyone,
>> Today, at the dispatch working group meeting (18:10), I am going to present WebTransport. WebTransport is a protocol framework that allows multiplexed and datagram-oriented transport protocols to be used by the web applications (think “WebSocket for UDP”).
> 
> "Historically, web applications that needed bidirectional data stream
>   between a client and a server could rely on WebSockets [RFC6455], a
>   message-based protocol compatible with Web security model.  However,
>   since the abstraction it provides is a single ordered stream of
>   messages, it suffers from head-of-line blocking (HOLB), meaning that
>   all messages must be sent and received in order even if they are
>   independent and some of them are no longer needed.  This makes it a
>   poor fit for latency sensitive applications which rely on partial
>   reliability and stream independence for performance."
> 
> The HOLB isn't really entirely the case... RFC6455 ws allows arbitrary fragmentation of messages allowing interleaving with control frames.
> 
> ws-over-h2 allows you to can the h2 stream when you want as well.
> 
> " Each new stream would require a WebSocket handshake to agree on
>      application protocol used, meaning that it would take at least one
>      RTT for each new stream before the client can write to it."
> 
> Yes it was knowingly done as a hack to try to encourage uptake from browser vendors... it's not really integrated into the encapsulating protocol.
> 
>>  * WebTransport overview:
>>    https://tools.ietf.org/html/draft-vvv-webtransport-overview-00
>>  * QuicTransport:
>>    https://tools.ietf.org/html/draft-vvv-webtransport-quic-00
>>  * Http3Transport:
>>    https://tools.ietf.org/html/draft-vvv-webtransport-http3-00
> 
> There's no h2 transport implementation?
> 
> Not everything that might want to use this will get h3 capability in a reasonable timeframe.  If there's more momentum behind it than RFC8441 there's probably room for a generic long-lived bidirectional extension to h2 either reusing DATA or a new frame type.

Definitely agree! I know that we’ve been chatting a bit with Victor about https://datatracker.ietf.org/doc/draft-kinnear-httpbis-http2-transport/ which aims to provide this, and I think it would be worth making sure that this works nicely with WebTransport. 
-00 for that document covers effectively what you’d get with a new frame type, and -01 extends 8441 to cover more than just WebSockets with the extended CONNECT handshake.
I don’t have a particularly strong preference for the mechanism used, but rather care more about the outcome — very much agree that this is a useful component.

Thanks,
Eric

> 
> It's a good idea to have it ride on other protocols.  Not doing this really hurt RFC6455 ws since deploying it usually needed extra, different servers with the attendant difficulties interoperating with other protocols.
> 
> I really suggest thinking through the effects of not having an RFC6455 type subprotocol (unless I failed to spot it).  It really makes an implicit assumption about what the stream will carry that doesn't scale beyond one server carrying one thing.  That's not how things tend to pan out if the protocol is useful.  The url path could be hacked to imply the subprotocol but if that's not standardized it's still a mess.  And the subprotocol binding may be orthogonal to the url layout complicating things needlessly.
> 
> -Andy
> 
>>  * Web API Spec draft: https://wicg.github.io/web-transport/
>>  * Discussion on use cases:
>>    https://discourse.wicg.io/t/webtransport-proposal/3508
>> Cheers,
>>   Victor.
>> _______________________________________________
>> hybi mailing list
>> hybi@ietf.org
>> https://www.ietf.org/mailman/listinfo/hybi
>