Re: [hybi] Adding clarification regarding future revisions (Was: Proposed way forward for WebSockets)

Willy Tarreau <w@1wt.eu> Tue, 27 July 2010 08:37 UTC

Return-Path: <w@1wt.eu>
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 D14A43A67F5 for <hybi@core3.amsl.com>; Tue, 27 Jul 2010 01:37:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.902
X-Spam-Level:
X-Spam-Status: No, score=-2.902 tagged_above=-999 required=5 tests=[AWL=-0.859, BAYES_00=-2.599, HELO_IS_SMALL6=0.556]
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 Y1XXrMvO7s+D for <hybi@core3.amsl.com>; Tue, 27 Jul 2010 01:37:55 -0700 (PDT)
Received: from 1wt.eu (1wt.eu [62.212.114.60]) by core3.amsl.com (Postfix) with ESMTP id 9465F3A6A69 for <hybi@ietf.org>; Tue, 27 Jul 2010 01:37:54 -0700 (PDT)
Received: (from willy@localhost) by mail.home.local (8.14.4/8.14.4/Submit) id o6R8c9SW017457; Tue, 27 Jul 2010 10:38:09 +0200
Date: Tue, 27 Jul 2010 10:38:09 +0200
From: Willy Tarreau <w@1wt.eu>
To: Ian Hickson <ian@hixie.ch>
Message-ID: <20100727083809.GB16965@1wt.eu>
References: <ECF0E97F-1DA2-4662-BA48-F68B65AA8179@apple.com> <4C4D66AF.9030905@opera.com> <Pine.LNX.4.64.1007270030120.24444@ps20323.dreamhostps.com> <AANLkTi=fx=Yfm_pe9-pdCc=5sKRP=dNfDEBYCKNHFOmH@mail.gmail.com> <op.vghnjpex64w2qv@annevk-t60> <AANLkTik5AB=UPJ47z8tEnVygJodPVAmppeXUymMBz+9n@mail.gmail.com> <20100727065018.GA16134@1wt.eu> <Pine.LNX.4.64.1007270709300.3056@ps20323.dreamhostps.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <Pine.LNX.4.64.1007270709300.3056@ps20323.dreamhostps.com>
User-Agent: Mutt/1.4.2.3i
Cc: hybi@ietf.org
Subject: Re: [hybi] Adding clarification regarding future revisions (Was: Proposed way forward for WebSockets)
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: Tue, 27 Jul 2010 08:37:55 -0000

Hi Ian,

On Tue, Jul 27, 2010 at 07:13:58AM +0000, Ian Hickson wrote:
> On Tue, 27 Jul 2010, Willy Tarreau wrote:
> > On Tue, Jul 27, 2010 at 02:40:40AM -0400, John Tamplin wrote:
> > > On Tue, Jul 27, 2010 at 2:13 AM, Anne van Kesteren <annevk@opera.com> 
> > > wrote:
> > > >
> > > > Feature negotiation is there, by means of new headers.
> > > 
> > > If that is the intention, it would be good to state that in the 
> > > protocol [...]
> > 
> > Yes indeed, that should be clarified.
> 
> I've added another sentence to the end of the "Design philosophy" section 
> to try to explain this in slightly more detail. I don't really know how 
> better to clarify it, though. Could you elaborate on exactly what is 
> unclear?

I can't find there the requirement to reject handshakes featuring
unknown headers, nor can I find it in -76, though I'm sure I've read
it not long ago, so probably that it was in a slightly earlier version.

Your wording in the Design Philosophy section looks fine an unambiguous
to me.

> > And BTW, saying "Upgrade: WebSocket/1.0" would be *a lot* better than 
> > "Upgrade: WebSocket".
> 
> Not having a version field is intentional. Versioning is an anti-pattern 
> on the Web.

I don't understand what you mean by "anti-pattern". Right now for
instance it's fortunate that we have the distinction between HTTP/1.0
and 1.1 since their semantics have changed (connection: close vs
keep-alive, support for transfer-encoding, etc...).

Without a version advertised in the request, the server won't know
whether the client is supposed to support feature XXX or YYY that
is only part of an evolution.

Regards,
Willy