Re: [hybi] Random Responses

Greg Wilkins <gregw@webtide.com> Sun, 12 April 2009 02: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 B5F953A6929 for <hybi@core3.amsl.com>; Sat, 11 Apr 2009 19:26:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.502
X-Spam-Level:
X-Spam-Status: No, score=-2.502 tagged_above=-999 required=5 tests=[AWL=0.097, 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 5WaHDaIVGDth for <hybi@core3.amsl.com>; Sat, 11 Apr 2009 19:26:25 -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 812903A684D for <hybi@ietf.org>; Sat, 11 Apr 2009 19:26:25 -0700 (PDT)
Received: by ti-out-0910.google.com with SMTP id j3so1155857tid.25 for <hybi@ietf.org>; Sat, 11 Apr 2009 19:27:34 -0700 (PDT)
Received: by 10.110.63.17 with SMTP id l17mr4221934tia.48.1239503254646; Sat, 11 Apr 2009 19:27:34 -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 a14sm4401554tia.27.2009.04.11.19.27.31 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 11 Apr 2009 19:27:33 -0700 (PDT)
Message-ID: <49E1518E.7050402@webtide.com>
Date: Sun, 12 Apr 2009 12:27:26 +1000
From: Greg Wilkins <gregw@webtide.com>
User-Agent: Thunderbird 2.0.0.21 (X11/20090319)
MIME-Version: 1.0
To: Mark Lentczner <markl@lindenlab.com>
References: <8A829FEA-0EF2-46D6-974D-0EB237FF2728@lindenlab.com> <Pine.LNX.4.62.0904090030580.19453@hixie.dreamhostps.com> <A66ED417-B7AB-4138-B8DE-31323A4DC0C1@lindenlab.com>
In-Reply-To: <A66ED417-B7AB-4138-B8DE-31323A4DC0C1@lindenlab.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: hybi@ietf.org
Subject: Re: [hybi] Random Responses
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: Sun, 12 Apr 2009 02:26:26 -0000

Mark Lentczner wrote:
> 
>  I should have said that we have a need for 
> full-duplex request-response -- either side can spontaneously send a 
> request message, and either side can, when ready, reply to a prior request.

BEEP!

> for any complex page, an application is almost certainly 
> going to want a way to address which widget on the page is the intended 
> recipient of the event. Hence, each application is going to have to 
> devise an addressing scheme, and more importantly, a method of encoding 
> that address in the simple string event.

BEEP!

 > I think popularity of HTTP for many kinds of
> applications has shown that one or more features of HTTP(*) are often 
> applicable to an application's needs, while the overhead of these 
> features is low enough to be worth including them in the protocol for 
> all.(**)
> 
>     - Mark
> 
> (*) Addressing (URLs), Method, Headers, Content specification, Transfer 
> specification, Status

BEEP!

> (**) I imagine the wire overhead for putting a minimal string event into 
> an HTTP message would be something like:
>     POST / HTTP/1.1
>     Host:
>     Content-Type:text/plain;charset=UTF-8
>     Content-Length:xxx
> 
> and
>     204 ACK
> That's 96 bytes overhead for a 100 to 999 byte payload. Seems high, but 
> for the usage cases that web pages present, this probably is not 
> relevant.  Further, once one has this framing, it is very likely that 
> rather than build addressing into the string payload, applications would 
> just make use of the URL field. Plus, this framing already has character 
> encoding support.

BEEP!


Generally agreeing with all your points.  Yet the attributes you
describe do sound pretty much like BEEP protocol - or at least
beep framing.

BEEP is very much a HTTP style protocol with addition of
bidirectionality, multiple response requests and multiple
channels over a single connection.

If BEEP was extended with a few default assumptions (eg
UTF-8 text body if no content type specified), then it would
approach the byte efficiency of websocket, while preserving
the extensibility and flexibility of HTTP.

If the security and authentication aspects of BEEP were
stripped, then a pretty simply protocol would remain.


IF I was forced to pick a winner.... then I'd certainly
look very closely at BEEP or a BEEP derivative.


cheers