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

Greg Wilkins <gregw@webtide.com> Wed, 01 September 2010 23:51 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 CE2973A6899 for <hybi@core3.amsl.com>; Wed, 1 Sep 2010 16:51:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.762
X-Spam-Level:
X-Spam-Status: No, score=-1.762 tagged_above=-999 required=5 tests=[AWL=0.215, 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 TjOweTdS04fw for <hybi@core3.amsl.com>; Wed, 1 Sep 2010 16:51:52 -0700 (PDT)
Received: from mail-fx0-f44.google.com (mail-fx0-f44.google.com [209.85.161.44]) by core3.amsl.com (Postfix) with ESMTP id F0C4F3A6852 for <hybi@ietf.org>; Wed, 1 Sep 2010 16:51:49 -0700 (PDT)
Received: by fxm18 with SMTP id 18so5914131fxm.31 for <hybi@ietf.org>; Wed, 01 Sep 2010 16:52:19 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.239.165.13 with SMTP id v13mr425648hbd.198.1283385139621; Wed, 01 Sep 2010 16:52:19 -0700 (PDT)
Received: by 10.239.186.139 with HTTP; Wed, 1 Sep 2010 16:52:19 -0700 (PDT)
In-Reply-To: <AANLkTimHUDGW=XGgjPFG9n+s01Q21e_BvHS+X6VSFUdD@mail.gmail.com>
References: <20100901224502.0519B3A687C@core3.amsl.com> <AANLkTikP1CF22fL0rBniXmrxEoBAbTNfzP9kyiNA4nbb@mail.gmail.com> <AANLkTi=_1m36ThFZTH_aGE_Unz0KTeexJq_74UGr2j+u@mail.gmail.com> <AANLkTikmYvJaZnc-SAaGm1Xztn31DqTnttonKFNBvT86@mail.gmail.com> <AANLkTimHUDGW=XGgjPFG9n+s01Q21e_BvHS+X6VSFUdD@mail.gmail.com>
Date: Thu, 02 Sep 2010 09:52:19 +1000
Message-ID: <AANLkTim1PkvvP1+2Hai09GpvPopSFLJo_2829vDum1E0@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: Wed, 01 Sep 2010 23:51:53 -0000

On 2 September 2010 09:26, John Tamplin <jat@google.com> wrote:

> The problem is that the framing of v75, v76, v00, and v01 are
> incompatible.

Tell me about it!

>  If you want to write a server that interoperates with
> browsers implementing these drafts (I know at least v75 and v76 are in
> the wild), then you have to rely on heuristics to figure out which one
> you are talking to.

We tried initially just to support v75 waiting for a sane v00, but
users were having problems.  So we switched to v76 and got howls of
despair from v75 users.
So now Jetty supports both and we use the presence of Sec headers to
pick between v75 and v76 implementations.

I don't know of any wide deployments of the server, but I do know that
those experimenting with it have other constraints that prevent them
arbitrarily changing browsers at the same time they upgrade their
servers.

> Even if there isn't a version in the 1.0 spec,
> any attempt to get real-world data while the spec is changing means
> you either have a version number or you heuristically determine one --
> the latter is obviously more prone to error.

Exactly - currently there is no change in the handshake for 01 draft,
so I will have to inspect the first packet and guess.  Of course that
does not work if the server sends the first packet.


> I would suggest adding Sec-WebSocket-Draft: 01 to implementations of
> this draft, and that header will only be present before the spec is
> finalized.

thanks!