Re: [hybi] WebSockets feedback (Was: Bayeux / Jetty perspective.)

Paul Prescod <paul@prescod.net> Fri, 03 April 2009 17:31 UTC

Return-Path: <prescod@gmail.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 873E93A6C87 for <hybi@core3.amsl.com>; Fri, 3 Apr 2009 10:31:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.543
X-Spam-Level:
X-Spam-Status: No, score=-1.543 tagged_above=-999 required=5 tests=[AWL=0.433, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
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 cEiOs4cEOMXQ for <hybi@core3.amsl.com>; Fri, 3 Apr 2009 10:31:09 -0700 (PDT)
Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.229]) by core3.amsl.com (Postfix) with ESMTP id E346D3A6BC6 for <hybi@ietf.org>; Fri, 3 Apr 2009 10:31:08 -0700 (PDT)
Received: by rv-out-0506.google.com with SMTP id k40so1088510rvb.49 for <hybi@ietf.org>; Fri, 03 Apr 2009 10:32:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type; bh=nGWTFWGjEru3j05L+P7PrHj1SehNMCkmD+1awY/7fhc=; b=DdRtkkb1LpnvjlK7uGUeSFjK5H4Bv/cgT3uxzcE2N/9QPioPV8FLTNGa3b+EcYpL1i 6s2MghE/gWmf6J+ve2obwa0n0Di3k2/+iZn9eLmfLZ1hIiJjDKD2hVa8AbzgxZo3fPga 7WoiVMTHJ6kIYsB4PkBKREmN2dxqSkHnDLgEc=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=DIdmeV4hJaN7LEsYVU8XPiWE8MJjrKX9VEPnlwBh7EDaIEKopktcyTmi0q1es3I0ix VtD0KofIDvldmjKZTLycwNeSNu3MRBdf8ukcs6P0YWn20CZmva27dE+/kaYnBdaOJhbw AbzqQZDUKdk9QXRs0h68NkOVS7bXQ7OOvjNHE=
MIME-Version: 1.0
Sender: prescod@gmail.com
Received: by 10.141.18.15 with SMTP id v15mr645374rvi.197.1238779931781; Fri, 03 Apr 2009 10:32:11 -0700 (PDT)
In-Reply-To: <E3BBCCB2-5FE4-4B5F-ADC2-6B95797F5460@apple.com>
References: <49D1AE22.1080409@webtide.com> <Pine.LNX.4.62.0903310624180.25058@hixie.dreamhostps.com> <49D5AA5F.8030503@webtide.com> <Pine.LNX.4.62.0904030757200.25082@hixie.dreamhostps.com> <1cb725390904030921p3f51c230kc14455064cc317d8@mail.gmail.com> <E3BBCCB2-5FE4-4B5F-ADC2-6B95797F5460@apple.com>
Date: Fri, 03 Apr 2009 10:32:11 -0700
X-Google-Sender-Auth: c2827cb7f7e11f28
Message-ID: <1cb725390904031032g44c9352bvc7af7332637b1059@mail.gmail.com>
From: Paul Prescod <paul@prescod.net>
To: Maciej Stachowiak <mjs@apple.com>
Content-Type: multipart/alternative; boundary="000e0cd1518ec9eaec0466a9ed16"
Cc: hybi@ietf.org
Subject: Re: [hybi] WebSockets feedback (Was: Bayeux / Jetty perspective.)
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, 03 Apr 2009 17:31:10 -0000

As I said, Jabber is probably a better fit. But if it were to use HTTP I
would not suggest to use the "surface syntax". If it were to use HTTP then
it would just add the minimum required to reverse the communications
direction:
 * http://www.ietf.org/internet-drafts/draft-lentczner-rhttp-00.txt

Then you would use one socket for initiator to listener communications and
another for the reverse. Any HTTP client library that is smart about
persistent connections could be quickly adapted to send "server->client"
messages.

But in any case, given that the dominant use case is web chat and Jabber is
the ascendent web chat protocol, I do think that Jabber is a better choice.

On Fri, Apr 3, 2009 at 9:36 AM, Maciej Stachowiak <mjs@apple.com> wrote:

>
> On Apr 3, 2009, at 9:21 AM, Paul Prescod wrote:
>
>  In general, the benefit of using an existing protocol is that you take
>> advantage of a lot of infrastructure and in particular of protocols built ON
>> TOP of that protocol. Maybe that doesn't matter for train control, but it
>> matters a lot for webchat, which as far as I'm concerned is the single
>> biggest application of a "server->client" protocol. To me, this strongly
>> suggests Jabber, but I'll make the case for HTTP because I'm more familiar
>> with it:
>>
>
> I think basing this protocol on the surface syntax of HTTP is a bad idea.
> HTTP is a request/response protocol, but the new protocol is simply two-way
> messaging. Messages are not (at least so far as the protocol knows)
> requests, nor are they responses to other messages. HTTP has the baked-in
> idea that messages are either requests or responses, that every request gets
> a response, and that every interaction is initiated by the client side.
> Using a similar framing syntax with totally different semantics is unlikely
> to make it easy to adapt existing tools.
>
> Regards,
> Maciej
>
>