Re: [hybi] Informal survey: "Non Request-Response Communication over the Web, and What's Missing"

Takeshi Yoshino <tyoshino@google.com> Tue, 27 January 2015 12:54 UTC

Return-Path: <tyoshino@google.com>
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 E50851A1EF7 for <hybi@ietfa.amsl.com>; Tue, 27 Jan 2015 04:54:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.788
X-Spam-Level:
X-Spam-Status: No, score=-0.788 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_52=0.6, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 c1ZCT4UtbRKk for <hybi@ietfa.amsl.com>; Tue, 27 Jan 2015 04:54:50 -0800 (PST)
Received: from mail-qa0-x22d.google.com (mail-qa0-x22d.google.com [IPv6:2607:f8b0:400d:c00::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4722E1A1DE2 for <hybi@ietf.org>; Tue, 27 Jan 2015 04:54:50 -0800 (PST)
Received: by mail-qa0-f45.google.com with SMTP id n8so11172913qaq.4 for <hybi@ietf.org>; Tue, 27 Jan 2015 04:54:49 -0800 (PST)
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:content-type; bh=6e8RPCOhiPg5AWpqZvANhgeaws6VrKVStdVcdJ4s4kM=; b=iYbEhvtqs0ogh8By/CxivU2XC2ZM1UOdhdrIuARhOwbOWXQKoFfVigRul6x6qphbYU 1zc73gIeeXjkdBQ/lIB8orlgnIVMC1LDeMJK8n4pC/n7ho/gx3Zmh7GQ816noWsVJ5i0 8I42fjp9iVp6KFxpy/LNj8JHPz8OsiX8u2RyCjnB4XfPEvO7G3K5xD6hSSrmVkmK5yme FimfswN3yg6paKkbUQowSqb8yBDJIzE2xyPJifNb1YZPw7oz128J66W9hDwooktxLcsU IqplfLl61WZGbOolMT7j1m1C6UKf2tJMu1PKlWVOV5//FkY6FcvcPWJzd7FhD1ioxFAp b4jA==
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:content-type; bh=6e8RPCOhiPg5AWpqZvANhgeaws6VrKVStdVcdJ4s4kM=; b=FvfXMEn+V63vDfxX8K0EuncONrr2Y/YxTCBUazWp7nZdhgnS1m5fqZQBYsO8/jUduk 9P2hOl7MYcVt8lqJxjcodriCWgHw8/mw4EjszHGdlhXS/Z1WeV3sCKGWVgNKjyiLhhD1 vPLtXMfYVZ5P6y0MEl/y7L6IdVu9ZFmXWB4RezPr0Ci1PZKDdEO9QWv0lhACB72NCGSR Apm00v1To9tgr75aG24tvo9/C5GVJre8+sO7deHQNXTWCoa4oZTtAMYHb4KMFSY1vRKU PnrCP+Io4rGB4alt8J/nbxHxU5UDuaQHgTaixvzIOeXHcraTpi2sU0FX7lRxGxC03DDa QFKg==
X-Gm-Message-State: ALoCoQm30cRLlC14KPCP5H4DS3NiMNHBouIPNqag5AtJodIrbQZN6v1OQAf1EvDo7vXGtUxDLSo1
X-Received: by 10.224.29.137 with SMTP id q9mr1539794qac.95.1422363289215; Tue, 27 Jan 2015 04:54:49 -0800 (PST)
MIME-Version: 1.0
Received: by 10.96.109.229 with HTTP; Tue, 27 Jan 2015 04:54:28 -0800 (PST)
In-Reply-To: <CAG4zZZB195+rdEjG3nei0cge9w9wLQeO-4yHxG329JbW8Qs12w@mail.gmail.com>
References: <CAH9hSJZjM1K7BKDcZCqriFZ-5uUBNJERtLEb5mH9PzG+DHnpQg@mail.gmail.com> <CAG4zZZB195+rdEjG3nei0cge9w9wLQeO-4yHxG329JbW8Qs12w@mail.gmail.com>
From: Takeshi Yoshino <tyoshino@google.com>
Date: Tue, 27 Jan 2015 21:54:28 +0900
Message-ID: <CAH9hSJY58u8viAdX5t+vwLTi+TL5EppdYzFp9Yzu3hUYSe4_Vg@mail.gmail.com>
To: Joakim Erdfelt <joakim@intalio.com>
Content-Type: multipart/alternative; boundary="047d7bdc78b69894fc050da1c29d"
Archived-At: <http://mailarchive.ietf.org/arch/msg/hybi/Vrwrd4brCIHJNmbHbg7PqUpTQ3I>
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] Informal survey: "Non Request-Response Communication over the Web, and What's Missing"
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: Tue, 27 Jan 2015 12:54:53 -0000

Thanks for the comments, Joakim.


On Fri, Jan 16, 2015 at 9:49 PM, Joakim Erdfelt <joakim@intalio.com> wrote:

> Some commentary ...
>
> Be careful with "reliable data delivery".
> This has many different meanings to different people.
>
> Bayeux and Cometd (for example) have acknowledgement extensions
> specifically for unreliable data networks (mobile) that allow the server or
> client to know if the opposite side has received the complete message or
> not.
>
> This level of reliable message delivery could probably exist as a
> WebSocket extension. a message-ack extension with exposure at the various
> WebSocket APIs.
>
>
Good point. We cut the details but it might have just led to confusion.
I'll fix it.


> WebSocket Gaps:
>
> 1. Half-Closed
>
> half-closed connections are currently supported by the WebSocket protocol
> spec.
> and many existing implementations do it correctly today (thanks autobahn!)
> several libraries already rely on this behavior (bayeux, cometd)
>

Right. It's missing on the WebSocket API.


>
> however, other layers, apis, and non-websocket bugs can cause problems
> here.
> eg: its impossible with Android 5.x to do half-closed via SSL, on any
> protocol, mostly due to many horrid bugs in their SSLEngine.
>
> 2. Flow-Control
>
> For standard http/1.1 (not http/2) this is handled at the tcp/ip level.
> For http/2 this is handled by its flow-control parts of that spec.
> What else do you mean here?
> Is this section about how to expose this on the Javascript WebSocket API?
>
>
Yes. Flow control is not exposed to the API level. A script cannot pose any
backpressure on a WebSocket without blocking the main thread.


> 3. Message-level metadata
>
> Let this be part of an application specific protocol layer, or an
> extension handling it (with Javascript WebSocket API changes to expose
> extension manipulation. see below)
> Note: This is quite a passionate topic on the ietf-http-wg mailing list
> also, with more people against it than for it.
>
> 4. Keep-Alive
>
> Most existing applications are happy with a combination of tcp/ip
> keep-alive and websocket ping/pong so far.
> With http/2 there's other keep-alive strategies.
> Is is really a WebSocket protocol gap?
> Or just another Javascript WebSocket API gap?
>

Yes. It's about the API. Sorry that it's unclear.


>
> 5. Multiplexing and session priority
>
> One concern with the common response: WebSocket over HTTP/2 will address
> this.
> It seems that the folks running the http2 spec track (ietf-http-wg) have
> punted and want hybi to define it, and the folks here at hybi seem to think
> that the ietf-http-wg folks will define it.  Have there been some
> discussion between these 2 groups yet? (even offline / face to face?)
>
>
No decision is made officially yet, I think.


> The Layering Concern:
>
> Don't forget, the websocket extensions are a layer too.
>
>
Yes!


> Other thoughts:
>
> If this is an effort to get baseline of effort for the Javascript
> WebSocket in the browser, then you also have the following often asked
> questions ...
>
> * Handling authentication / authorization credentials.  submitting them,
> and getting reasonable error messages out of the API for when problems
> occur.
> * Controlling extensions, both at the initial handshake, and ongoing in
> the write/send apis (think compress / dont compress flags as a real world
> usecase for today)
> * Better error messages when use of the API results in failure to
> open/connect due to violation of WebSocket spec rules
>
>
Thanks for the list. Yeah, there're lots of overdue things.

The doc is not only for WebSocket API refinement. More general discussion
about what's the best messaging API/protocol we should build for better web
ecosystem.


>
>
> --
> Joakim Erdfelt <joakim@intalio.com>
> webtide.com <http://www.webtide.com/> - intalio.com/jetty
> Expert advice, services and support from from the Jetty & CometD experts
> eclipse.org/jetty - cometd.org
>
> On Fri, Jan 16, 2015 at 1:42 AM, Takeshi Yoshino <tyoshino@google.com>
> wrote:
>
>> Hi all,
>>
>> I and Wenbo did an informal survey of protocol gaps. We hope this would
>> help moving forward the discussions about protocol/API design to some
>> extent.
>>
>>
>> https://github.com/bidiweb/bidiweb-semantics/blob/master/SurveyOfProtocolGaps.md
>>
>>
>> _______________________________________________
>> hybi mailing list
>> hybi@ietf.org
>> https://www.ietf.org/mailman/listinfo/hybi
>>
>>
>