Re: [hybi] Random Responses
Jamie Lokier <jamie@shareable.org> Sun, 12 April 2009 21:42 UTC
Return-Path: <jamie@shareable.org>
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 89E8F3A698C for <hybi@core3.amsl.com>; Sun, 12 Apr 2009 14:42:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.821
X-Spam-Level:
X-Spam-Status: No, score=-4.821 tagged_above=-999 required=5 tests=[AWL=-2.222, 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 cLOSDH-fNfgA for <hybi@core3.amsl.com>; Sun, 12 Apr 2009 14:42:33 -0700 (PDT)
Received: from mail2.shareable.org (mail2.shareable.org [80.68.89.115]) by core3.amsl.com (Postfix) with ESMTP id 9BE403A680D for <hybi@ietf.org>; Sun, 12 Apr 2009 14:42:33 -0700 (PDT)
Received: from jamie by mail2.shareable.org with local (Exim 4.63) (envelope-from <jamie@shareable.org>) id 1Lt7Sp-0002Db-3x; Sun, 12 Apr 2009 22:43:43 +0100
Date: Sun, 12 Apr 2009 22:43:43 +0100
From: Jamie Lokier <jamie@shareable.org>
To: Mark Lentczner <markl@lindenlab.com>
Message-ID: <20090412214343.GM4394@shareable.org>
References: <8A829FEA-0EF2-46D6-974D-0EB237FF2728@lindenlab.com> <Pine.LNX.4.62.0904090030580.19453@hixie.dreamhostps.com> <A66ED417-B7AB-4138-B8DE-31323A4DC0C1@lindenlab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <A66ED417-B7AB-4138-B8DE-31323A4DC0C1@lindenlab.com>
User-Agent: Mutt/1.5.13 (2006-08-11)
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 21:42:34 -0000
Mark Lentczner wrote: > Then I mis-replied. 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. I agree. HTTP requests and responses are easily distinguished, so it's quite simple to accept either. Recovery behaviour when the connection disappears is tricky if you have HTTP-like requests. Right now, clients tend to send non-idempotent requests (i.e. POST) on a new connection, because if you send to a persistent connection, and the socket reports an error, you don't know if the request was received and processed and then the network died, or if the server timed out the persistent connection and closed it while you were sending the request. You can't tell the difference, and it's unsafe to repeat the request, so you use a new connection. With a bidirectional connection, typically the initiating client sets everything up, then the server is able to send a request - but this is analogous to sending a request over a persistent HTTP connection. In general with this sort of network protocol, you define a recovery process - or assume the system will recover naturally - or don't have non-idempotent requests coming from the server end. But if we're claiming to support HTTP in both directions, then we need to define if the server is allowed to send POST requests and such to the client, and what to do realistically on seeing network errors. > Only the establishment in WebSocket is addressed via URL. In rHTTP > each request can be addressed by URL. This is useful as it is a very > common piece of meta-data that applications want. For example, using > WebSockets, 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. I agree that the URL address space is a very common useful piece of metadata. There is so much built around it now; it makes sense to provide applications with that. I also agree that HTTP message frame parsing is readily available, and easy to implement when it isn't. -- Jamie
- [hybi] Random Responses Mark Lentczner
- Re: [hybi] Random Responses Ian Hickson
- Re: [hybi] Random Responses Peter Saint-Andre
- Re: [hybi] Random Responses Mark Lentczner
- Re: [hybi] Random Responses Mike Dierken
- Re: [hybi] Random Responses Paul Prescod
- Re: [hybi] Random Responses Paul Prescod
- Re: [hybi] Random Responses rektide
- Re: [hybi] Random Responses Greg Wilkins
- Re: [hybi] Random Responses Mridul Muralidharan
- Re: [hybi] Random Responses Jamie Lokier
- Re: [hybi] Random Responses Mridul Muralidharan
- Re: [hybi] Random Responses Jamie Lokier
- Re: [hybi] Random Responses Jamie Lokier
- Re: [hybi] Random Responses Jamie Lokier
- Re: [hybi] Random Responses Greg Wilkins
- Re: [hybi] Random Responses Mridul Muralidharan