Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocketprotocol-01.txt

Greg Wilkins <gregw@webtide.com> Thu, 23 September 2010 16:52 UTC

Return-Path: <gregw@webtide.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CE9203A69BD for <hybi@core3.amsl.com>; Thu, 23 Sep 2010 09:52:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.81
X-Spam-Level:
X-Spam-Status: No, score=-1.81 tagged_above=-999 required=5 tests=[AWL=0.167, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hL3BqZrJPSpc for <hybi@core3.amsl.com>; Thu, 23 Sep 2010 09:52:52 -0700 (PDT)
Received: from mail-gw0-f44.google.com (mail-gw0-f44.google.com [74.125.83.44]) by core3.amsl.com (Postfix) with ESMTP id C30A13A692E for <hybi@ietf.org>; Thu, 23 Sep 2010 09:52:52 -0700 (PDT)
Received: by gwb20 with SMTP id 20so790634gwb.31 for <hybi@ietf.org>; Thu, 23 Sep 2010 09:53:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.100.105.10 with SMTP id d10mr2284192anc.158.1285260801975; Thu, 23 Sep 2010 09:53:21 -0700 (PDT)
Received: by 10.231.178.88 with HTTP; Thu, 23 Sep 2010 09:53:21 -0700 (PDT)
In-Reply-To: <AANLkTin21B7o0-OTroXgvXcDyh_XpMFAtFAVDsCz_Las@mail.gmail.com>
References: <20100901224502.0519B3A687C@core3.amsl.com> <AANLkTi=u3t6ayoKQSs8oZu=gdaU5k_+UuKjSQfg+3ATb@mail.gmail.com> <op.vieipeemidj3kv@simon-pieterss-macbook.local> <AANLkTi=_1zd9G=6jGU5m+spxCxNh511juE64bWzLpaVu@mail.gmail.com> <op.vif8o0stidj3kv@simon-pieterss-macbook.local> <op.viroqvliidj3kv@simon-pieterss-macbook.local> <AANLkTi=M7DJr=WR3H2o=FCiQLoYdSMxURMpXFjYOFOk3@mail.gmail.com> <op.vjgenvsbidj3kv@simon-pieterss-macbook.local> <AANLkTi=CxRhUpOJ-F-0rxzP14GrnmK__35kF7nrBu9y0@mail.gmail.com> <AANLkTi=3Fwgaw+Uqs_cWiT4jYpEiQt0Layaw3efPjXQV@mail.gmail.com> <op.vjg8lhzl64w2qv@anne-van-kesterens-macbook-pro.local> <AANLkTiknA=90Z0E-K1Vx1rkPemhtHjPL8cxqJJ2D7RpM@mail.gmail.com> <AANLkTin21B7o0-OTroXgvXcDyh_XpMFAtFAVDsCz_Las@mail.gmail.com>
Date: Thu, 23 Sep 2010 09:53:21 -0700
Message-ID: <AANLkTinuhrORia+5PHSCVWTgBXJV2hNrYVzGFBJ4BR-5@mail.gmail.com>
From: Greg Wilkins <gregw@webtide.com>
To: John Tamplin <jat@google.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Cc: hybi <hybi@ietf.org>
Subject: Re: [hybi] I-D Action:draft-ietf-hybi-thewebsocketprotocol-01.txt
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Thu, 23 Sep 2010 16:52:53 -0000

On 23 September 2010 08:47, John Tamplin <jat@google.com> wrote:
> On Thu, Sep 23, 2010 at 11:36 AM, Ian Fette (イアンフェッティ)
> <ifette@google.com> wrote:
>> I will try to put together a -02 by the end of the week and see how far I get, and then let's see how we can move forward.
>
> I can help with that if you need it as well.
>
>> In my mind, some of the pressing issues remaining are Issue 4 (http://trac.tools.ietf.org/wg/hybi/trac/ticket/4), and any
>> ideas anyone has (including NPN, or proposing an alternate that still meets the required properties) would be helpful.
>
> I thought a couple of people posted that the simple solution of
> requiring the WS server to not read the random bytes until it had
> written the 101 response header solved the problem of otherwise
> functional proxies causing the WS server to hang?

It may solve "the problem" of a particular intermediary, but I don't
think it justifies the existence of those random bytes on the wire as
not HTTP and not Websocket data.

The inclusion of those bytes was never discussed or justified.  There
is still no rigorous explanation of what benefit they provide that
could not be provided with an early ping/pong like:

   Client Handshake (with nonce)  --->
                  <---- Server handshake
                  <---- Ping (with hash of nonce)
   onOpen called
   Pong ------>

This give no extra round trip before the client onopen is called and
verifies that at least server->client websocket data can be sent.   If
client->server data cannot be sent, then the pong will not be received
and the connection will be shutdown.   Note that a ws connection can
fail at any time, so this provides no extra error handling burden on
applications as they have to handle this case anyway.


cheers