Re: [hybi] Multiplexing in WebSocket

Greg Wilkins <gregw@webtide.com> Fri, 23 October 2009 17:22 UTC

Return-Path: <gregw@webtide.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 E67863A6819 for <hybi@core3.amsl.com>; Fri, 23 Oct 2009 10:22:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.539
X-Spam-Level:
X-Spam-Status: No, score=-3.539 tagged_above=-999 required=5 tests=[AWL=1.060, BAYES_00=-2.599, GB_I_INVITATION=-2]
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 6h7IFCCAoJCF for <hybi@core3.amsl.com>; Fri, 23 Oct 2009 10:22:30 -0700 (PDT)
Received: from mail-ew0-f208.google.com (mail-ew0-f208.google.com [209.85.219.208]) by core3.amsl.com (Postfix) with ESMTP id C4E263A6784 for <hybi@ietf.org>; Fri, 23 Oct 2009 10:22:29 -0700 (PDT)
Received: by ewy4 with SMTP id 4so1843064ewy.37 for <hybi@ietf.org>; Fri, 23 Oct 2009 10:22:38 -0700 (PDT)
Received: by 10.216.90.81 with SMTP id d59mr4014090wef.29.1256318558250; Fri, 23 Oct 2009 10:22:38 -0700 (PDT)
Received: from ?192.168.1.117? (dsl081-052-134.sfo1.dsl.speakeasy.net [64.81.52.134]) by mx.google.com with ESMTPS id x6sm5236766gvf.1.2009.10.23.10.22.35 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 23 Oct 2009 10:22:37 -0700 (PDT)
Message-ID: <4AE1E659.5050507@webtide.com>
Date: Fri, 23 Oct 2009 10:22:33 -0700
From: Greg Wilkins <gregw@webtide.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
MIME-Version: 1.0
To: Ian Hickson <ian@hixie.ch>
References: <4ACE50A2.5070404@ericsson.com> <3a880e2c0910081600v3607665dp193f6df499706810@mail.gmail.com> <4ACF4055.6080302@ericsson.com> <Pine.LNX.4.62.0910092116010.21884@hixie.dreamhostps.com> <4AD2E353.8070609@webtide.com> <4AD2F43D.6030202@ninebynine.org> <4AD39A64.4080405@webtide.com> <Pine.LNX.4.62.0910132335390.25383@hixie.dreamhostps.com> <4AD53DCA.6050304@webtide.com> <Pine.LNX.4.62.0910170203460.9145@hixie.dreamhostps.com> <4ADA7FD4.9010406@webtide.com> <4ADB6F0B.4000004@gmail.com> <Pine.LNX.4.62.0910221120380.9145@hixie.dreamhostps.com> <4AE08907.7080402@webtide.com> <Pine.LNX.4.62.0910230348470.9145@hixie.dreamhostps.com>
In-Reply-To: <Pine.LNX.4.62.0910230348470.9145@hixie.dreamhostps.com>
X-Enigmail-Version: 0.95.7
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Cc: hybi@ietf.org
Subject: Re: [hybi] Multiplexing in WebSocket
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, 23 Oct 2009 17:22:31 -0000

Ian Hickson wrote:

>>> The IETF is welcome to do whatever it likes. The only reason Web 
>>> Sockets is here is that the IETF wanted it here.
>> And since you have accepted the IETFs invitation to submit a draft, you 
>> should do so in good faith and not expect the IETF to rubber stamp what 
>> you've done simply because you have no intention of changing it.
> 
> I've made lots of changes to the WebSocket protocol -- heck, I've made so 
> many changes based on feedback here and elsewhere that people have started 
> complaining that I've made too many!

My comment was directed at your statement that the IETF can "do whatever
it likes" in response to my suggestion that there may be wider concerns
considered than just the narrow js case that you have considered in HTML5.


> Actually, as designed, WebSocket does an end-run around most of these. The 
> only case I'm aware of where WebSocket would need help is in environments 
> that do not even allow port 443 traffic to pass through unmolested.

And this is exactly the sort of wider concern that the IETF might want
to consider.

You can tunnel bidirectional traffic over DNS if you want, but that
does not mean the IETF will sanction such a protocol.
Having a long term solution that essentially misuses the CONNECT
mechanism of proxies is far from ideal.

Considering how intermediaries can interact with bidirectional
connections is extremely important - even if only at the level
of how to stop them closing what they think are idle connections.



> On Thu, 22 Oct 2009, Joshua Bell wrote:
>> * I seem to recall that one of the desires for sentinel-based frames was 
>> to allow octet streams for which the length was not known in advance. 
> 
> No; the only reason for sentinel-based frames was to not rely on authors 
> having to determine the length of their UTF-8-encoded strings, which in 
> many environments can be easy to get wrong.

Authors that can't determine the length of a UTF-8 string are not exactly
the sort of developers that should be implementing network protocols.

When sending this utf-8, buffers will be used and lengths must be
checked - else there will be buffer overruns and associated failures
and/or security issues.

It seams an entirely reasonable simplification of websocket to
use only length limited framing and to use the type byte to indicate
such things as content charset


regards