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

John Tamplin <jat@google.com> Wed, 01 September 2010 23:26 UTC

Return-Path: <jat@google.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 DDC143A68A6 for <hybi@core3.amsl.com>; Wed, 1 Sep 2010 16:26:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.87
X-Spam-Level:
X-Spam-Status: No, score=-105.87 tagged_above=-999 required=5 tests=[AWL=0.107, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 eEqnjInImGKt for <hybi@core3.amsl.com>; Wed, 1 Sep 2010 16:26:48 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id E39553A6872 for <hybi@ietf.org>; Wed, 1 Sep 2010 16:26:47 -0700 (PDT)
Received: from hpaq5.eem.corp.google.com (hpaq5.eem.corp.google.com [172.25.149.5]) by smtp-out.google.com with ESMTP id o81NRH7Q019807 for <hybi@ietf.org>; Wed, 1 Sep 2010 16:27:17 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1283383637; bh=SZuAT1DyQ8CAWsk8H5PB5h+Gqls=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type:Content-Transfer-Encoding; b=KU14tbn8gIrU2Pa99x/lzEOBggvq2HkYKZ1ovIbgcLh1Z3m6W5QZ6l/mhuOpHQC5Y 9Fe4ARH9WET9bNTLh2Nug==
Received: from gxk25 (gxk25.prod.google.com [10.202.11.25]) by hpaq5.eem.corp.google.com with ESMTP id o81NRF7T012807 for <hybi@ietf.org>; Wed, 1 Sep 2010 16:27:16 -0700
Received: by gxk25 with SMTP id 25so4284467gxk.29 for <hybi@ietf.org>; Wed, 01 Sep 2010 16:27:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=N3qft1JDGbiXc1P85nMCo9GZ6xhh8ZOlyQKjDTH/7x8=; b=t00GFfVZIihnvaTlHCAH4gg7RyXo9SyYSQlRRD6riXEoYAsDaSC2SQM+0ChrLVkYHp 7MXgege0Li8aIjpm+kkA==
DomainKey-Signature: a=rsa-sha1; c=nofws; d=google.com; s=beta; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; b=ASalCk56OrwSwCLAF0zILUvefHefzyZt+UM+1nR7bkPQVKAoydXSfuh9IRi1Ed+Cl5 7eVWlIvJoK8BctyJQwkg==
Received: by 10.151.78.3 with SMTP id f3mr6135390ybl.142.1283383635174; Wed, 01 Sep 2010 16:27:15 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.151.103.4 with HTTP; Wed, 1 Sep 2010 16:26:55 -0700 (PDT)
In-Reply-To: <AANLkTikmYvJaZnc-SAaGm1Xztn31DqTnttonKFNBvT86@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>
From: John Tamplin <jat@google.com>
Date: Wed, 01 Sep 2010 19:26:55 -0400
Message-ID: <AANLkTimHUDGW=XGgjPFG9n+s01Q21e_BvHS+X6VSFUdD@mail.gmail.com>
To: Greg Wilkins <gregw@webtide.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
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:26:49 -0000

On Wed, Sep 1, 2010 at 7:18 PM, Greg Wilkins <gregw@webtide.com> wrote:
> my proposal was not to add versioning to the protocol - as I know some
> think it is an anti pattern.
>
> I just want to be able to implement the next draft without breaking
> all my users that have been working on the last draft.   So my
> proposal is only for a draft version to be added by implementers as
> non-standard convenience at this time. The lack of a draft version can
> be taken to mean the final stable version.
>
> How else do you expect servers to track the drafts and deal with the
> various browser implementations out there?

The problem is that the framing of v75, v76, v00, and v01 are
incompatible.  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.  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.

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.

-- 
John A. Tamplin
Software Engineer (GWT), Google