Re: [hybi] WS framing alternative

Ian Hickson <ian@hixie.ch> Fri, 30 October 2009 09:17 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 2EC3F3A68A3 for <hybi@core3.amsl.com>; Fri, 30 Oct 2009 02:17:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.403
X-Spam-Level:
X-Spam-Status: No, score=-2.403 tagged_above=-999 required=5 tests=[AWL=-0.104, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3]
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 7rDV6wSB-Kjr for <hybi@core3.amsl.com>; Fri, 30 Oct 2009 02:17:23 -0700 (PDT)
Received: from looneymail-a2.g.dreamhost.com (caibbdcaaaaf.dreamhost.com [208.113.200.5]) by core3.amsl.com (Postfix) with ESMTP id 4FA113A67A7 for <hybi@ietf.org>; Fri, 30 Oct 2009 02:17:23 -0700 (PDT)
Received: from hixie.dreamhostps.com (hixie.dreamhost.com [208.113.210.27]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by looneymail-a2.g.dreamhost.com (Postfix) with ESMTP id 2F19716D3E6; Fri, 30 Oct 2009 02:17:40 -0700 (PDT)
Date: Fri, 30 Oct 2009 09:17:40 +0000
From: Ian Hickson <ian@hixie.ch>
To: "\"Martin J. Dürst\"" <duerst@it.aoyama.ac.jp>
In-Reply-To: <4AEA9151.9040608@it.aoyama.ac.jp>
Message-ID: <Pine.LNX.4.62.0910300748590.25608@hixie.dreamhostps.com>
References: <8B0A9FCBB9832F43971E38010638454F0F1EA72C@SISPE7MB1.commscope.com> <Pine.LNX.4.62.0910270903080.9145@hixie.dreamhostps.com> <a9699fd20910270426u4aa508cepf557b362025ae5db@mail.gmail.com> <Pine.LNX.4.62.0910271824200.25616@hixie.dreamhostps.com> <4AE76137.8000603@webtide.com> <Pine.LNX.4.62.0910272118590.25608@hixie.dreamhostps.com> <20091029123121.GA24268@almeida.jinsky.com> <4AEA0E6C.1060607@webtide.com> <4AEA5713.8020008@it.aoyama.ac.jp> <Pine.LNX.4.62.0910300346010.25616@hixie.dreamhostps.com> <4AEA9151.9040608@it.aoyama.ac.jp>
Content-Language: en-GB-hixie
Content-Style-Type: text/css
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="1909464018-135474861-1256894260=:25608"
Cc: hybi@ietf.org
Subject: Re: [hybi] WS framing alternative
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: Fri, 30 Oct 2009 09:17:24 -0000

On Fri, 30 Oct 2009, "Martin J. Dürst" wrote:
> > 
> >Actually the WebSocket-Protocol header lets you negotiate that at 
> >connection time.
> 
> Does that mean that WS allows arbitrary headers in the upgrade 
> request/response? Or that there is one header, WebSocket-Protocol, with 
> potentially a lot of data stuffed into it?

You can set the desired value for -Protocol header by passing a parameter 
to the WebSocket constructor. That sets the value from the client. The 
server then responds with the protocol _it_ supports. If the two match, 
the client provides the connection to the script. To support multiple 
protocols, the server can use the client-provided value to decide which 
one to use.


> You seem to assume that Web Sockets communication is basically just 
> between a client and a server, without any intermediaries getting 
> involved in any significant way.

Without any independent intermediaries, anyway. On the server side, there 
can be whatever intermediaries the server-side developer likes; they can 
all be considered to be the server-side implementation from the 
perspective of the client (and the spec).


> But if there's anything where intermediaries get involved in a specific 
> way (other than just letting everything through or just blocking), then 
> there's probably a need to let these intermediaries know some info. 
> Because the payload frames are for data exchange between the client and 
> the server, they are essentially opaque to intermediaries, so you can't 
> use them for that purpose. That's where a separate frame type comes in 
> handy.

What's the use case for independent intermediaries?

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