Re: [hybi] Multiple connections serialization and proxies

Jamie Lokier <jamie@shareable.org> Wed, 21 July 2010 23:23 UTC

Return-Path: <jamie@shareable.org>
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 DD6893A6B0E for <hybi@core3.amsl.com>; Wed, 21 Jul 2010 16:23:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.444
X-Spam-Level:
X-Spam-Status: No, score=-2.444 tagged_above=-999 required=5 tests=[AWL=0.155, BAYES_00=-2.599]
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 JCkAgn5E0TuN for <hybi@core3.amsl.com>; Wed, 21 Jul 2010 16:23:13 -0700 (PDT)
Received: from mail2.shareable.org (mail2.shareable.org [80.68.89.115]) by core3.amsl.com (Postfix) with ESMTP id F03593A6A7C for <hybi@ietf.org>; Wed, 21 Jul 2010 16:23:12 -0700 (PDT)
Received: from jamie by mail2.shareable.org with local (Exim 4.63) (envelope-from <jamie@shareable.org>) id 1ObidM-0000pA-N9; Thu, 22 Jul 2010 00:23:28 +0100
Date: Thu, 22 Jul 2010 00:23:28 +0100
From: Jamie Lokier <jamie@shareable.org>
To: Greg Wilkins <gregw@webtide.com>
Message-ID: <20100721232328.GE14589@shareable.org>
References: <8B0A9FCBB9832F43971E38010638454F03E7D06E00@SISPE7MB1.commscope.com> <20100422230957.GI13951@shareable.org> <8B0A9FCBB9832F43971E38010638454F03E7D06E06@SISPE7MB1.commscope.com> <20100423001858.GA22326@shareable.org> <8B0A9FCBB9832F43971E38010638454F03E7D06E28@SISPE7MB1.commscope.com> <20100423103715.GB32366@shareable.org> <Pine.LNX.4.64.1007202216350.7242@ps20323.dreamhostps.com> <AANLkTik-ZXv6VT3rZvzYxq5P=eGYirnTnwKD1qMcpTEp@mail.gmail.com> <Pine.LNX.4.64.1007212217140.7242@ps20323.dreamhostps.com> <AANLkTilTH4AFdKO4xgiiCSI9qTwHbsHhgn9p00dUy-EX@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <AANLkTilTH4AFdKO4xgiiCSI9qTwHbsHhgn9p00dUy-EX@mail.gmail.com>
User-Agent: Mutt/1.5.13 (2006-08-11)
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] Multiple connections serialization and proxies
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, 21 Jul 2010 23:23:14 -0000

Greg Wilkins wrote:
> 
>    On 22 July 2010 08:28, Ian Hickson <[1]ian@hixie.ch> wrote:
> 
>      There's no lack of extensibility and negotiation, both are built
>      into the
>      protocol. Future versions of the protocol can simply define new
>      option
>      fields that the client can include to announce support and that the
>      server
>      can include to announce opt-in. For example, the client could say:
>      Â  Sec-WebSocket-Compression: gzip bzip2
>      ...and the server might then respond with:
>      Â  Sec-WebSocket-Compression: gzip
> 
>    Ian,
>    That will not work, because old versions of websocket are constrained
>    by the current standard to reject connections with unknown
>    headers.  So if a future version introduced such a header, it
>    would immediately make new client unable to interoperate with old
>    servers.
>    If we do not allow arbitrary headers, then we will severely limit our
>    options for upgrading the protocol in the future.

Ian, +1 to What Greg said.  It sounds like maybe the current spec
doesn't behave as you intended?

The handshake must permit future clients to interop with the first
widely deployed websocket servers (whatever version of the standard).
That's why "wiggle room" for negotation has to be clearly present in
the first version that gets significant deployment.

It doesn't have to be completely arbitrary headers; it just needs to
be *something* that all compliant servers ignore and future servers
can recognise.

-- Jamie