Re: [hybi] Is there a traffic jam?

Greg Wilkins <gregw@webtide.com> Tue, 14 April 2009 00:17 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 58DC83A67A1 for <hybi@core3.amsl.com>; Mon, 13 Apr 2009 17:17:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.527
X-Spam-Level:
X-Spam-Status: No, score=-2.527 tagged_above=-999 required=5 tests=[AWL=0.072, 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 BUd7nNwk-T1g for <hybi@core3.amsl.com>; Mon, 13 Apr 2009 17:17:47 -0700 (PDT)
Received: from ti-out-0910.google.com (ti-out-0910.google.com [209.85.142.184]) by core3.amsl.com (Postfix) with ESMTP id 5462A3A67F3 for <hybi@ietf.org>; Mon, 13 Apr 2009 17:17:47 -0700 (PDT)
Received: by ti-out-0910.google.com with SMTP id 11so27399tim.25 for <hybi@ietf.org>; Mon, 13 Apr 2009 17:18:57 -0700 (PDT)
Received: by 10.110.8.5 with SMTP id 5mr9595400tih.10.1239668337744; Mon, 13 Apr 2009 17:18:57 -0700 (PDT)
Received: from ?10.10.1.12? (60-242-119-126.tpgi.com.au [60.242.119.126]) by mx.google.com with ESMTPS id u8sm2455652tia.10.2009.04.13.17.18.55 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 13 Apr 2009 17:18:56 -0700 (PDT)
Message-ID: <49E3D66C.5060002@webtide.com>
Date: Tue, 14 Apr 2009 10:18:52 +1000
From: Greg Wilkins <gregw@webtide.com>
User-Agent: Thunderbird 2.0.0.21 (X11/20090409)
MIME-Version: 1.0
To: hybi@ietf.org
References: <03BCE29D-7AA5-4128-9F61-446E0229479A@lindenlab.com> <E51D5B15BFDEFD448F90BDD17D41CFF105A0C46E@AHQEX1.andrew.com> <Pine.LNX.4.62.0904132352430.10339@hixie.dreamhostps.com> <E51D5B15BFDEFD448F90BDD17D41CFF105A0C476@AHQEX1.andrew.com> <Pine.LNX.4.62.0904140002360.10339@hixie.dreamhostps.com>
In-Reply-To: <Pine.LNX.4.62.0904140002360.10339@hixie.dreamhostps.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: Re: [hybi] Is there a traffic jam?
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: Tue, 14 Apr 2009 00:17:48 -0000

Ian Hickson wrote:
> On Mon, 13 Apr 2009, Thomson, Martin wrote:
>> Some do the right thing.  Others do what you might fear.
> 
> This is roughly why I believe one of our requirements should be that 
> implementations should be possible in few lines of code without the use of 
> any libraries. Sure, HTTP libraries are a dime a dozen, and we can rely on 
> XML parsers and so on, but in practice, some will do the right thing, and 
> others won't.
> 
> I'd rather have a protocol that's so simple that nobody will feel the need 
> to write their own HTTP parser, say.

Ian,

the problem with a really simple protocol is that encourages wheels to
be reinvented further up the stack.

Not supporting features in the base protocol does not
make these things not a problem - it just makes them somebody
else's problem.

eg just because the base transport does not support multi-channel
interleaved messages with flow control, does not mean that
such requirements are not needed.

If for example we picked Websocket as *THE* protocol and
all the firewalls and gateways were changed to support upgrade
to websocket - then I would still expect to see many different
protocols being tunnelled over websocket datagrams.

These may be application specific protocols based on UTF-8
datagrams or they may even be existing protocols such as BEEP
tunnelled over websocket binary datagrams.

There would still need to be conventions or standards so
that we could work out that the websocket datagram really
does contain the protocol we are expecting, and then that
protocol will need to be implemented with all it's parsers
and libraries.


The question is - is there a reasonable subset of features
that could be supported at the base protocol level that
would reduce the number of reinvented wheels.

I really liked Jamie Lokiers suggestion of a set of optional
extension to HTTP, so that minimal implementations need only
implement the features that they need.   Thus support of
multiplexed interleaved messages with flow control would
not be manditory, but also would not have to be reimplemented
by every stack that needed it.


cheers