Re: [hybi] Multiple connections serialization and proxies

Ian Hickson <ian@hixie.ch> Wed, 21 July 2010 22:28 UTC

Return-Path: <ian@hixie.ch>
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 C8E723A659C for <hybi@core3.amsl.com>; Wed, 21 Jul 2010 15:28:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.421
X-Spam-Level:
X-Spam-Status: No, score=-2.421 tagged_above=-999 required=5 tests=[AWL=0.178, 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 j1Gt93qrt4+X for <hybi@core3.amsl.com>; Wed, 21 Jul 2010 15:28:17 -0700 (PDT)
Received: from looneymail-a1.g.dreamhost.com (caibbdcaaaaf.dreamhost.com [208.113.200.5]) by core3.amsl.com (Postfix) with ESMTP id AC3233A68A3 for <hybi@ietf.org>; Wed, 21 Jul 2010 15:28:17 -0700 (PDT)
Received: from ps20323.dreamhostps.com (ps20323.dreamhost.com [69.163.222.251]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by looneymail-a1.g.dreamhost.com (Postfix) with ESMTP id 5DB3315D577; Wed, 21 Jul 2010 15:28:34 -0700 (PDT)
Date: Wed, 21 Jul 2010 22:28:34 +0000
From: Ian Hickson <ian@hixie.ch>
To: John Tamplin <jat@google.com>
In-Reply-To: <AANLkTik-ZXv6VT3rZvzYxq5P=eGYirnTnwKD1qMcpTEp@mail.gmail.com>
Message-ID: <Pine.LNX.4.64.1007212217140.7242@ps20323.dreamhostps.com>
References: <4BCF4932.8040303@gmail.com> <4BD09A2C.6060506@gmail.com> <x2n557ae281004221224i2a9a46c0k6f6f684c94de255c@mail.gmail.com> <8B0A9FCBB9832F43971E38010638454F03E7D06DF7@SISPE7MB1.commscope.com> <20100422225448.GG13951@shareable.org> <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>
Content-Language: en-GB-hixie
Content-Style-Type: text/css
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
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 22:28:20 -0000

On Tue, 20 Jul 2010, John Tamplin wrote:
> On Tue, Jul 20, 2010 at 7:14 PM, Ian Hickson <ian@hixie.ch> wrote:
> > > 
> > > I favour the server being able to send back a number saying how many 
> > > more connections are permitted now.  Negotiated flow control, rather 
> > > than spec'd fixed values (except the first).  There could still be a 
> > > default, for simple implementations.
> >
> > That seems like something we should add in a future version, if it 
> > really is needed. Baby steps, keep things simple, etc.
> 
> Given the lack of extensibility and negotiation, how would it be added 
> in the future without breaking backwards compatibility?

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

...indicating that the client and server will both compress frames using 
gzip. Pretty much anything can be defined; if both the client and the 
server opt in to a feature, nothing constrains what the protocol has to 
look like from then on. We could define an option that, once selected by 
both parties, switches the protocol to an entirely different framing 
mechanism, if we find that the simple framing currently in the spec isn't 
good enough. So long as we define all the interactions of the options, 
we're pretty much open to doing anything in future versions short of 
changing the basic shape of the handshake.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'