Re: [hybi] ws and bwtp thoughts
Greg Wilkins <gregw@webtide.com> Wed, 21 October 2009 06:26 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 501383A697A for <hybi@core3.amsl.com>; Tue, 20 Oct 2009 23:26:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.394
X-Spam-Level:
X-Spam-Status: No, score=-1.394 tagged_above=-999 required=5 tests=[AWL=1.205, 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 OLxEfF8mRIef for <hybi@core3.amsl.com>; Tue, 20 Oct 2009 23:26:35 -0700 (PDT)
Received: from mail-ew0-f228.google.com (mail-ew0-f228.google.com [209.85.219.228]) by core3.amsl.com (Postfix) with ESMTP id AE5423A69CC for <hybi@ietf.org>; Tue, 20 Oct 2009 23:26:34 -0700 (PDT)
Received: by ewy28 with SMTP id 28so7377205ewy.42 for <hybi@ietf.org>; Tue, 20 Oct 2009 23:26:40 -0700 (PDT)
Received: by 10.216.89.6 with SMTP id b6mr2731714wef.100.1256106398968; Tue, 20 Oct 2009 23:26:38 -0700 (PDT)
Received: from ?10.71.0.129? (216.112.110.2.ptr.us.xo.net [216.112.110.2]) by mx.google.com with ESMTPS id x6sm1934375gvf.1.2009.10.20.23.26.35 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 20 Oct 2009 23:26:37 -0700 (PDT)
Message-ID: <4ADEA997.10705@webtide.com>
Date: Tue, 20 Oct 2009 23:26:31 -0700
From: Greg Wilkins <gregw@webtide.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
MIME-Version: 1.0
To: "Thomson, Martin" <Martin.Thomson@andrew.com>
References: <8B0A9FCBB9832F43971E38010638454F0F1EA1D4@SISPE7MB1.commscope.com>
In-Reply-To: <8B0A9FCBB9832F43971E38010638454F0F1EA1D4@SISPE7MB1.commscope.com>
X-Enigmail-Version: 0.95.7
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] ws and bwtp thoughts
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 Oct 2009 06:26:36 -0000
Martin, Thomson, Martin wrote: > I've been following the discussions on WS and BWTP (awful name, BTW) with some interest. > > The differences are many, but aside from a few they probably make little difference from a technical standpoint. I totally agree. Most differences between BWTP and Websocket a non-semantic For example websocket encodes length in a binary integer of arbitrary length, while BWTP uses a ascii decimal number of arbitrary length. The difference is pretty much just a style choice. I think websocket can be improved to have the capabilities I'm advocating and the other differences are not important. See my blog on this exact subject: http://blogs.webtide.com/gregw/entry/how_to_improve_websocket > ==Channels > Channels are not the issue - ... > Channels are just one way of addressing the problem. +1 Channels are just a means to an end and not an end in themselves. > Delegating any responsibility to a higher layer is > another way. That depends what you think is "the problem". :) I consider the problem is that applications should not have to manage TCP/IP connections nor have the ability to directly request them. I don't think delegating to a higher layer solves this problem. > HTTP doesn't have channels. There's no multiplexing. > If you need multiplexing, you open a new connection. HTTP does support multiplexing - but not with channels. If you open another XHR in js, the browser will look for an idle connection, which may have been opened by another application in another frame/tab/window (or in same frame, but previous page). Also there are proxies and other intermediaries that multiplex many clients onto shared connections. > So I have a (half-baked) suggestion: Use MIME and > allow requests to be addressed. If by "request" you mean "message", that is indeed another possible solution abstract away from the actual TCP/IP connections - and is probably simpler than channels. However, like HTTP, you would need some meta data with each and every message. If you are concerned about reducing data usage, then channels (or at least BWTPs implementation of them) allows meta data to be sent only once per channel and then each message can be just data and no meta data. If you are less concerned about data usage, then meta-data per message works ok for HTTP But your point is well taken. There is more than one way to skin a cat - and we should be prepared compromise on the means we use to achieve the outcomes that we want. cheers
- [hybi] ws and bwtp thoughts Thomson, Martin
- Re: [hybi] ws and bwtp thoughts Greg Wilkins
- Re: [hybi] ws and bwtp thoughts Thomson, Martin
- Re: [hybi] ws and bwtp thoughts Greg Wilkins
- Re: [hybi] ws and bwtp thoughts Thomson, Martin