Re: [hybi] Proposed way forward for WebSockets
Michael Carter <cartermichael@gmail.com> Tue, 27 July 2010 05:47 UTC
Return-Path: <cartermichael@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 F2FD53A685F for <hybi@core3.amsl.com>; Mon, 26 Jul 2010 22:47:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, 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 OPBDjkZFmsEh for <hybi@core3.amsl.com>; Mon, 26 Jul 2010 22:47:20 -0700 (PDT)
Received: from mail-qy0-f179.google.com (mail-qy0-f179.google.com [209.85.216.179]) by core3.amsl.com (Postfix) with ESMTP id 6D7DA3A67B1 for <hybi@ietf.org>; Mon, 26 Jul 2010 22:47:04 -0700 (PDT)
Received: by qyk8 with SMTP id 8so2532944qyk.10 for <hybi@ietf.org>; Mon, 26 Jul 2010 22:47:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=24a4pVnYE2AJs7weMYLCrv6UwmJUjiwnuE7+Fb/3kLM=; b=fQOF7ZqvJyhDkB4vzHd7GhZBU+uEbt0WKPh7dlGe/M68RHt3AhMi22clq0ItqIrP7H bB56dkvOqt4ne9PuxS+MgwntRQ1t5KtG8y5LLFbgRdRQmZbaXODOMGx9ioZuj/TR2JKw 981IoXZtGiFzPl5blwMDueoQ83+w1t+6OQAXM=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=IeauLoAo6Gq1wHcXAz/svHMaNvAsNA9LBnTBEtzVMzn+HeH3aNhU1u7ZpTUr9OWRLO /hx7w/7oeZJTMmMjritqJjOKvNiCrascITBisCKG4QXepYIw92N731v6sSsKbptbB39q QVfQoaEL1urMLUgHJn180cLtunGekXxlgIwU0=
MIME-Version: 1.0
Received: by 10.224.18.22 with SMTP id u22mr7173305qaa.18.1280209644476; Mon, 26 Jul 2010 22:47:24 -0700 (PDT)
Received: by 10.229.222.65 with HTTP; Mon, 26 Jul 2010 22:47:24 -0700 (PDT)
In-Reply-To: <Pine.LNX.4.64.1007270030120.24444@ps20323.dreamhostps.com>
References: <ECF0E97F-1DA2-4662-BA48-F68B65AA8179@apple.com> <4C4D66AF.9030905@opera.com> <Pine.LNX.4.64.1007270030120.24444@ps20323.dreamhostps.com>
Date: Mon, 26 Jul 2010 22:47:24 -0700
Message-ID: <AANLkTimm-W4x=BfZ8O0-LqiWukc5gf-gigMdLQX8NRNQ@mail.gmail.com>
From: Michael Carter <cartermichael@gmail.com>
To: hybi@ietf.org
Content-Type: multipart/alternative; boundary="00c09f9b069318d821048c580979"
Subject: Re: [hybi] Proposed way forward for WebSockets
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, 27 Jul 2010 05:47:24 -0000
Ian's roadmap looks great, in my opinion. -Michael Carter On Mon, Jul 26, 2010 at 5:56 PM, Ian Hickson <ian@hixie.ch> wrote: > On Mon, 26 Jul 2010, James Graham wrote: > > > > I think a different goal would be a better statement of Ian's intent: > > > > "Websockets should be the minimal layer on top of TCP needed to meet the > > additional requirements of browsers" > > Yes, I think that's an accurate description of what I mean. > > > There are two parts to the protocol: the handshake, and the framing. > > The handshake has basically three purposes: 1: allowing the protocol to be > served by a server that also serves HTTP on the same port; 2: protecting > existing servers and future WebSocket servers from cross-protocol attacks; > 3: allowing servers to host multiple domains and resources on the same > IP/port combination, while supporting the browser origin security model. > > The framing has one purpose: provide JavaScript applications running in > Web browsers with a way to send and receive text messages to and from > WebSocket servers. > > > There are a number of ways that we can make the protocol also support > other goals: > > - Compression of frame data > - Sending and receiving binary data > - Allowing messages to be annotated with metadata* > - Allowing multiple JavaScript applications from the same browser to > share a connection to a server (multiplexing)* > > All of these could be supported by future backwards-compatible changes to > the protocol, by having the client advertise support for each feature in > the handshake, and having the server opt-in to using that feature. None of > these changes require fundamental changes to the handshake. > > Two of these, marked with an asterisk above, can also be implemented by > script; therefore a good way of determining if they are truly needed is to > deploy the protocol as is, and to see if people work around the lack of > that feature by implementing it themselves. If they do, then the feature > is needed and we should add it. > > The other two features are clearly needed regardless, and we should add > them in the near future. (Adding features piecemeal leads to more > compliant client-side implementations, so we should not add them now.) > > > Here's a proposed timeline for adding these features: > > - We fix any critical bugs (not feature additions) in the protocol as it > stands today (next 4 weeks). > > - We deploy the protocol in four or more major browser vendors (next 4 > months). > > - When binary support in WebGL is stable, we add binary support to XHR, > WebSocket, etc (a matter of months?). > > - We look at how the protocol is used (another couple of months). > > - During this time, we build client and server test suites for the > protocol. > > - We add built-in support for the features that are needed based on > implementation experience (about 6 months from now), including > compression, multiplexing, per-frame metadata annotation, etc, as > needed. > > - We update the test suites. > > > I think it would be a mistake to add every feature we can think of right > away, because doing so would mean that we added features before their need > was proven, and it would lead to much less conforming client > implementations. This dynamic has been proven time and time again with Web > technologies; we should not repeat that mistake. > > It would also be advantageous to allow implementors to experiment with > ideas like multiplexing before we add the feature to the protocol, since > it would let us use their implementation experience when designing the > extensions to the protocol. Only by first getting the basic protocol out > there and then experimenting with it can we really find how these ideas > work out in real deployments. > > > (Thanks to Ian Fette for providing a sounding board for some of this.) > > -- > Ian Hickson U+1047E )\._.,--....,'``. fL > http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. > Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.' > _______________________________________________ > hybi mailing list > hybi@ietf.org > https://www.ietf.org/mailman/listinfo/hybi >
- Re: [hybi] Protocol simplicity and the "amateur p… Mike Belshe
- [hybi] Protocol simplicity and the "amateur progr… Maciej Stachowiak
- Re: [hybi] Protocol simplicity and the "amateur p… Greg Wilkins
- Re: [hybi] Protocol simplicity and the "amateur p… Willy Tarreau
- Re: [hybi] Proposed way forward for WebSockets Willy Tarreau
- Re: [hybi] Protocol simplicity and the "amateur p… James Graham
- Re: [hybi] Protocol simplicity and the "amateur p… Maciej Stachowiak
- Re: [hybi] Protocol simplicity and the "amateur p… Julian Reschke
- Re: [hybi] Protocol simplicity and the "amateur p… Ian Fette (イアンフェッティ)
- Re: [hybi] Protocol simplicity and the "amateur p… James Graham
- Re: [hybi] Protocol simplicity and the "amateur p… Micheil Smith
- Re: [hybi] Protocol simplicity and the "amateur p… Greg Wilkins
- Re: [hybi] Protocol simplicity and the "amateur p… Dave Cridland
- Re: [hybi] Protocol simplicity and the "amateur p… James Graham
- Re: [hybi] Protocol simplicity and the "amateur p… Adam Barth
- Re: [hybi] Protocol simplicity and the "amateur p… James Graham
- Re: [hybi] Protocol simplicity and the "amateur p… John Tamplin
- Re: [hybi] Adding clarification regarding future … Joe Hildebrand
- Re: [hybi] Protocol simplicity and the "amateur p… Greg Wilkins
- Re: [hybi] Protocol simplicity and the "amateur p… James Graham
- [hybi] Proposed way forward for WebSockets Ian Hickson
- Re: [hybi] Proposed way forward for WebSockets Maciej Stachowiak
- Re: [hybi] Proposed way forward for WebSockets Rob Sayre
- Re: [hybi] Proposed way forward for WebSockets Greg Wilkins
- Re: [hybi] Proposed way forward for WebSockets Michael Carter
- Re: [hybi] Proposed way forward for WebSockets Anne van Kesteren
- Re: [hybi] Proposed way forward for WebSockets Anne van Kesteren
- Re: [hybi] Proposed way forward for WebSockets John Tamplin
- Re: [hybi] Proposed way forward for WebSockets Anne van Kesteren
- [hybi] Adding clarification regarding future revi… Ian Hickson
- Re: [hybi] Proposed way forward for WebSockets Maciej Stachowiak
- Re: [hybi] Adding clarification regarding future … Simone Bordet
- Re: [hybi] Proposed way forward for WebSockets Dave Cridland
- Re: [hybi] Adding clarification regarding future … Thomson, Martin
- Re: [hybi] Proposed way forward for WebSockets gabriel montenegro
- Re: [hybi] Proposed way forward for WebSockets Thomson, Martin
- Re: [hybi] Adding clarification regarding future … Willy Tarreau
- Re: [hybi] Proposed way forward for WebSockets gabriel montenegro
- Re: [hybi] Proposed way forward for WebSockets Willy Tarreau
- Re: [hybi] Proposed way forward for WebSockets Adam Barth
- Re: [hybi] Proposed way forward for WebSockets Willy Tarreau
- Re: [hybi] Proposed way forward for WebSockets Dave Cridland
- Re: [hybi] Proposed way forward for WebSockets Anne van Kesteren
- Re: [hybi] Proposed way forward for WebSockets Lars Eggert
- Re: [hybi] Adding clarification regarding future … Pieter Hintjens
- Re: [hybi] Proposed way forward for WebSockets Greg Wilkins
- Re: [hybi] Adding clarification regarding future … Dave Cridland
- Re: [hybi] Adding clarification regarding future … Jamie Lokier
- Re: [hybi] Proposed way forward for WebSockets Jamie Lokier
- Re: [hybi] Adding clarification regarding future … Jamie Lokier
- Re: [hybi] Proposed way forward for WebSockets Jamie Lokier
- Re: [hybi] Proposed way forward for WebSockets Ian Fette (イアンフェッティ)
- Re: [hybi] Proposed way forward for WebSockets John Tamplin
- Re: [hybi] Proposed way forward for WebSockets Dave Cridland
- Re: [hybi] Proposed way forward for WebSockets Martin J. Dürst
- Re: [hybi] Proposed way forward for WebSockets Alexey Melnikov
- Re: [hybi] Proposed way forward for WebSockets Anne van Kesteren
- Re: [hybi] Proposed way forward for WebSockets Martin J. Dürst
- Re: [hybi] Proposed way forward for WebSockets Greg Wilkins
- Re: [hybi] Proposed way forward for WebSockets Anne van Kesteren