Re: [hybi] Shipping WebSockets
Willy Tarreau <w@1wt.eu> Thu, 16 December 2010 06:34 UTC
Return-Path: <w@1wt.eu>
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 43FD63A6FE8 for <hybi@core3.amsl.com>; Wed, 15 Dec 2010 22:34:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.666
X-Spam-Level:
X-Spam-Status: No, score=-1.666 tagged_above=-999 required=5 tests=[AWL=-0.823, BAYES_00=-2.599, HELO_IS_SMALL6=0.556, J_CHICKENPOX_22=0.6, J_CHICKENPOX_42=0.6]
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 HuLaw+kIqjbW for <hybi@core3.amsl.com>; Wed, 15 Dec 2010 22:34:00 -0800 (PST)
Received: from 1wt.eu (1wt.eu [62.212.114.60]) by core3.amsl.com (Postfix) with ESMTP id 793233A6FE2 for <hybi@ietf.org>; Wed, 15 Dec 2010 22:33:59 -0800 (PST)
Received: (from willy@localhost) by mail.home.local (8.14.4/8.14.4/Submit) id oBG6ZfWL017655; Thu, 16 Dec 2010 07:35:41 +0100
Date: Thu, 16 Dec 2010 07:35:41 +0100
From: Willy Tarreau <w@1wt.eu>
To: Zhong Yu <zhong.j.yu@gmail.com>
Message-ID: <20101216063541.GA17613@1wt.eu>
References: <B0B3789C-1D3C-4A4E-B37F-8F43FFC7D905@mnot.net> <AANLkTi=5fFeNkWOwAn1PiWp3AsOGBaJngP_Uwja63k03@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <AANLkTi=5fFeNkWOwAn1PiWp3AsOGBaJngP_Uwja63k03@mail.gmail.com>
User-Agent: Mutt/1.4.2.3i
Cc: "hybi@ietf.org HTTP" <hybi@ietf.org>
Subject: Re: [hybi] Shipping 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: Thu, 16 Dec 2010 06:34:02 -0000
On Wed, Dec 15, 2010 at 05:21:56AM -0600, Zhong Yu wrote: > I'm leaning towards a distinct, non-HTTP approach, with some HTTP > resemblance conservatively and carefully added to it. My proposal will > be somewhere close to Mark's approach #2 and #3. > > From a purist's stand, WS should be distinct. It should not be easily > confused as HTTP(or other protocols) by existing or future programs. I don't completely agree with you. We're discussing on a list whose name means "bidirectional HTTP". And "old" draft here from Sal already mentions WS as one of the bidirectional HTTP protocols : http://tools.ietf.org/html/draft-loreto-http-bidirectional-00 And this presentation does so too : http://www.ietf.org/proceedings/74/slides/apparea-3.pdf So the work was really initiated by the wish to get something very closely tied to HTTP. > However there are strong pressures to have *some* HTTP-ness in WS. > People want some existing HTTP components to work with WS with no(or > little) modification. People want to keep some HTTP features in WS > without reinventing an alien syntax. > > An apparent answer to these demands is to make WS looks almost like > HTTP, even make it 100% HTTP compliant. This answer is not only over > reaching, but also improbable to achieve. No, at least two mechanisms in HTTP explicitly permit this (CONNECT for proxies and Upgrade for servers). It's just that we've found some non-100% compliant implementations that risk to break in a bad way. Instead of using dirty tricks to make the thing even less compliant and having more reasons to see it randomly fail, we're trying to make it compliant and to use tricks to ensure most of the non-compliant ones will cleanly fail. Protocol compliance is an important point because it gives an argument to customers to ask their providers for fixing their products. While you can sometimes wait several years for a feature upgrade (eg: "please, when will you support websocket ?") it can be a lot faster when you say "hey, your crap is subject to CVE-2011-XXXX and my users can exploit it to corrupt its cache, hurry up to bring a fix". Another advantage is that instead of having to check multiple docs, the implementer only has to get back to his beloved HTTP spec and discover that he did not correctly process the 1xx responses and that he just has to find a way to get that fixed. I did it in haproxy, in the past, 1xx would have been considered as 2xx or 3xx. The fix only took a few hours, tests included. And fixing that magically brought compatibility with the protocols transported over an upgrade request. That's why in my opinion protocol compliance can achieve faster deployment and adoption than relying on a stack of invalid syntaxes that will make some valid components break without any incentive for the editors to fix them. Regards, Willy
- Re: [hybi] Shipping WebSockets Zhong Yu
- Re: [hybi] Shipping WebSockets Greg Wilkins
- [hybi] Shipping WebSockets Mark Nottingham
- Re: [hybi] Shipping WebSockets Maciej Stachowiak
- Re: [hybi] Shipping WebSockets Mark Nottingham
- Re: [hybi] Shipping WebSockets Maciej Stachowiak
- Re: [hybi] Shipping WebSockets Bjoern Hoehrmann
- Re: [hybi] Shipping WebSockets Zhong Yu
- Re: [hybi] Shipping WebSockets Willy Tarreau
- Re: [hybi] Shipping WebSockets Willy Tarreau
- Re: [hybi] Shipping WebSockets Zhong Yu
- Re: [hybi] Shipping WebSockets Pat McManus @Mozilla
- Re: [hybi] Shipping WebSockets John Tamplin
- Re: [hybi] Shipping WebSockets Greg Wilkins
- Re: [hybi] Shipping WebSockets Andrew Miadowicz
- Re: [hybi] Shipping WebSockets Greg Wilkins
- Re: [hybi] Shipping WebSockets Adam Barth
- Re: [hybi] Shipping WebSockets Gabriel Montenegro
- Re: [hybi] Shipping WebSockets Zhong Yu
- Re: [hybi] Shipping WebSockets Zhong Yu
- Re: [hybi] Shipping WebSockets Adam Barth
- Re: [hybi] Shipping WebSockets Julian Reschke
- Re: [hybi] Shipping WebSockets Eric Rescorla
- Re: [hybi] Shipping WebSockets Willy Tarreau
- Re: [hybi] Shipping WebSockets Mark Nottingham
- Re: [hybi] Shipping WebSockets Maciej Stachowiak
- Re: [hybi] Shipping WebSockets John Tamplin
- Re: [hybi] Shipping WebSockets Mark Nottingham
- Re: [hybi] Shipping WebSockets Willy Tarreau
- Re: [hybi] Shipping WebSockets Maciej Stachowiak
- Re: [hybi] Shipping WebSockets Mark Nottingham
- Re: [hybi] Shipping WebSockets Willy Tarreau
- Re: [hybi] Shipping WebSockets Willy Tarreau
- Re: [hybi] Shipping WebSockets Maciej Stachowiak
- Re: [hybi] Shipping WebSockets Maciej Stachowiak
- Re: [hybi] Shipping WebSockets Willy Tarreau
- Re: [hybi] Shipping WebSockets Willy Tarreau
- [hybi] Handshake proposals, how to move forward Salvatore Loreto
- [hybi] upgrade-hello-handshake (was Re: Shipping … Salvatore Loreto
- Re: [hybi] Handshake proposals, how to move forwa… Julian Reschke
- Re: [hybi] Handshake proposals, how to move forwa… Ian Fette (イアンフェッティ)
- Re: [hybi] Handshake proposals, how to move forwa… Ian Fette (イアンフェッティ)
- Re: [hybi] Handshake proposals, how to move forwa… John Tamplin
- Re: [hybi] Handshake proposals, how to move forwa… Salvatore Loreto
- Re: [hybi] Handshake proposals, how to move forwa… Adam Barth
- Re: [hybi] Shipping WebSockets Bjoern Hoehrmann
- [hybi] semantic conformance in CONNECT handshake … Salvatore Loreto
- Re: [hybi] semantic conformance in CONNECT handsh… Salvatore Loreto
- Re: [hybi] Shipping WebSockets Willy Tarreau
- Re: [hybi] semantic conformance in CONNECT handsh… Ian Fette (イアンフェッティ)
- Re: [hybi] semantic conformance in CONNECT handsh… Willy Tarreau
- Re: [hybi] semantic conformance in CONNECT handsh… Eric Rescorla
- Re: [hybi] semantic conformance in CONNECT handsh… Salvatore Loreto
- [hybi] upgrade-hello-handshake (was: Re: Shipping… Bjoern Hoehrmann
- Re: [hybi] Shipping WebSockets Greg Wilkins
- Re: [hybi] Handshake proposals, how to move forwa… Greg Wilkins
- Re: [hybi] semantic conformance in CONNECT handsh… Greg Wilkins
- Re: [hybi] Shipping WebSockets Greg Wilkins
- Re: [hybi] semantic conformance in CONNECT handsh… Willy Tarreau
- Re: [hybi] semantic conformance in CONNECT handsh… Willy Tarreau
- Re: [hybi] upgrade-hello-handshake (was: Re: Ship… Willy Tarreau
- Re: [hybi] semantic conformance in CONNECT handsh… Greg Wilkins
- Re: [hybi] Wiki page to organize discussion of pr… Maciej Stachowiak
- Re: [hybi] semantic conformance in CONNECT handsh… Joe Mason
- Re: [hybi] Shipping WebSockets Joe Mason
- [hybi] Wiki page to organize discussion of propos… Maciej Stachowiak
- Re: [hybi] Wiki page to organize discussion of pr… Marshall Eubanks
- Re: [hybi] Wiki page to organize discussion of pr… Mark Nottingham
- Re: [hybi] Wiki page to organize discussion of pr… John Tamplin
- Re: [hybi] Wiki page to organize discussion of pr… Greg Wilkins
- Re: [hybi] Wiki page to organize discussion of pr… James Graham
- Re: [hybi] Wiki page to organize discussion of pr… Maciej Stachowiak
- Re: [hybi] Wiki page to organize discussion of pr… Maciej Stachowiak
- Re: [hybi] Wiki page to organize discussion of pr… Salvatore Loreto
- Re: [hybi] Wiki page to organize discussion of pr… Eric Rescorla
- Re: [hybi] Wiki page to organize discussion of pr… Jack Moffitt
- Re: [hybi] Wiki page to organize discussion of pr… Salvatore Loreto
- Re: [hybi] Wiki page to organize discussion of pr… Henrik Levkowetz
- Re: [hybi] Shipping WebSockets Dave Cridland
- Re: [hybi] semantic conformance in CONNECT handsh… Dave Cridland
- Re: [hybi] Shipping WebSockets SM
- Re: [hybi] Shipping WebSockets Maciej Stachowiak
- Re: [hybi] Shipping WebSockets Dave Cridland