Re: [hybi] Redesigning the Web Socket handshake
Maciej Stachowiak <mjs@apple.com> Wed, 03 February 2010 16:38 UTC
Return-Path: <mjs@apple.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 EED9D3A6C66 for <hybi@core3.amsl.com>; Wed, 3 Feb 2010 08:38:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.453
X-Spam-Level:
X-Spam-Status: No, score=-106.453 tagged_above=-999 required=5 tests=[AWL=0.146, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 bYrrjbbofkqe for <hybi@core3.amsl.com>; Wed, 3 Feb 2010 08:38:26 -0800 (PST)
Received: from mail-out4.apple.com (mail-out4.apple.com [17.254.13.23]) by core3.amsl.com (Postfix) with ESMTP id 3D4983A6C65 for <hybi@ietf.org>; Wed, 3 Feb 2010 08:38:26 -0800 (PST)
Received: from relay13.apple.com (relay13.apple.com [17.128.113.29]) by mail-out4.apple.com (Postfix) with ESMTP id 4B7AB89F1486 for <hybi@ietf.org>; Wed, 3 Feb 2010 08:39:09 -0800 (PST)
X-AuditID: 1180711d-b7b18ae000001001-f5-4b69a6ad03d4
Received: from et.apple.com (et.apple.com [17.151.62.12]) by relay13.apple.com (Apple SCV relay) with SMTP id E2.F0.04097.DA6A96B4; Wed, 3 Feb 2010 08:39:09 -0800 (PST)
MIME-version: 1.0
Content-transfer-encoding: 7bit
Content-type: text/plain; charset="us-ascii"
Received: from [17.151.86.222] by et.apple.com (Sun Java(tm) System Messaging Server 6.3-7.04 (built Sep 26 2008; 32bit)) with ESMTPSA id <0KX900A0SY98E350@et.apple.com> for hybi@ietf.org; Wed, 03 Feb 2010 08:39:09 -0800 (PST)
From: Maciej Stachowiak <mjs@apple.com>
In-reply-to: <20100203163359.GA19037@shareable.org>
Date: Wed, 03 Feb 2010 08:39:08 -0800
Message-id: <49D9192C-349B-4353-B48A-E95B27E3CC30@apple.com>
References: <Pine.LNX.4.64.1002012305000.21600@ps20323.dreamhostps.com> <20100203025736.GS32743@shareable.org> <4B68FD77.7020107@webtide.com> <20100203163359.GA19037@shareable.org>
To: Jamie Lokier <jamie@shareable.org>
X-Mailer: Apple Mail (2.1077)
X-Brightmail-Tracker: AAAAAQAAAZE=
Cc: hybi@ietf.org
Subject: Re: [hybi] Redesigning the Web Socket handshake
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, 03 Feb 2010 16:38:27 -0000
On Feb 3, 2010, at 8:33 AM, Jamie Lokier wrote: > Nice! But that's not really what I meant. > > What I meant is two things, I suppose. One protocol, one client API: > > Protocol: Establishing a connection, and then each proxy in the chain > either opts in to making it a WebSocket (or similar in style) > resulting in single connection with bidirectional messaging, or if > there are any proxies detected which won't participate, there will be > HTTP long-polling - at least for the hops on either side of that proxy > (perhaps not the other hops). > > I *think* what you described is: Use WebSocket if the whole path > supports it, otherwise long-polling for the whole path. > > The difference from what that is the intentional proxy-friendliness > and friendliness to all other deployed HTTP infrastructure. It'll > pass through everything, including the internals of xrandomhttpd <-> > CGI, etc. and upgrade to WebSocket opportunistically on those hops > where it can, while working transparently to the user where it can't. > > For the API, you've probably understood that it'd be nice if the > WebSocket API had a fallback to HTTP long-polling implementation, > Of course that can be written in Javascript today. That would be cool if it worked. But I'm not sure how you would detect that all your intermediaries understand WebSocket. Our best idea so far was hop-by-hop headers. But as someone else mentioned, there are intermediaries out there that just pass along hop-by-hop headers, but won't deal with arbitrary bidirectional non-HTTP traffic. So there doesn't seem to be a reliable mechanism for this. Regards, Maciej
- Re: [hybi] Redesigning the Web Socket handshake Greg Wilkins
- Re: [hybi] Redesigning the Web Socket handshake Justin Erenkrantz
- [hybi] Redesigning the Web Socket handshake Ian Hickson
- Re: [hybi] Redesigning the Web Socket handshake Greg Wilkins
- Re: [hybi] Redesigning the Web Socket handshake Ian Hickson
- Re: [hybi] Redesigning the Web Socket handshake Maciej Stachowiak
- Re: [hybi] Redesigning the Web Socket handshake Greg Wilkins
- Re: [hybi] Redesigning the Web Socket handshake Maciej Stachowiak
- Re: [hybi] Redesigning the Web Socket handshake Vladimir Katardjiev
- Re: [hybi] Redesigning the Web Socket handshake Francis Brosnan Blázquez
- Re: [hybi] Redesigning the Web Socket handshake Justin Erenkrantz
- Re: [hybi] Redesigning the Web Socket handshake Justin Erenkrantz
- Re: [hybi] Redesigning the Web Socket handshake Jamie Lokier
- Re: [hybi] Redesigning the Web Socket handshake Jamie Lokier
- Re: [hybi] Redesigning the Web Socket handshake Jamie Lokier
- Re: [hybi] Redesigning the Web Socket handshake Jamie Lokier
- Re: [hybi] Redesigning the Web Socket handshake Maciej Stachowiak
- Re: [hybi] Redesigning the Web Socket handshake Greg Wilkins
- Re: [hybi] Redesigning the Web Socket handshake Maciej Stachowiak
- Re: [hybi] Redesigning the Web Socket handshake Justin Erenkrantz
- Re: [hybi] Redesigning the Web Socket handshake Maciej Stachowiak
- Re: [hybi] Redesigning the Web Socket handshake Maciej Stachowiak
- Re: [hybi] Redesigning the Web Socket handshake Roberto Peon
- Re: [hybi] Redesigning the Web Socket handshake Justin Erenkrantz
- Re: [hybi] Redesigning the Web Socket handshake Maciej Stachowiak
- Re: [hybi] Redesigning the Web Socket handshake Justin Erenkrantz
- Re: [hybi] Redesigning the Web Socket handshake Maciej Stachowiak
- Re: [hybi] Redesigning the Web Socket handshake Jamie Lokier
- Re: [hybi] Redesigning the Web Socket handshake Maciej Stachowiak
- Re: [hybi] Redesigning the Web Socket handshake Jamie Lokier
- Re: [hybi] Redesigning the Web Socket handshake Martin J. Dürst
- Re: [hybi] Redesigning the Web Socket handshake Lars Eggert
- Re: [hybi] Redesigning the Web Socket handshake Maciej Stachowiak
- Re: [hybi] Redesigning the Web Socket handshake Martin J. Dürst