Re: [hybi] Web sockets and existing HTTP stacks

Greg Wilkins <gregw@webtide.com> Mon, 01 February 2010 18:29 UTC

Return-Path: <gregw@webtide.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 DA9383A697E for <hybi@core3.amsl.com>; Mon, 1 Feb 2010 10:29:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.449
X-Spam-Level:
X-Spam-Status: No, score=-2.449 tagged_above=-999 required=5 tests=[AWL=0.150, 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 EaMzo7F9EPOK for <hybi@core3.amsl.com>; Mon, 1 Feb 2010 10:29:09 -0800 (PST)
Received: from mail-bw0-f224.google.com (mail-bw0-f224.google.com [209.85.218.224]) by core3.amsl.com (Postfix) with ESMTP id D71503A697B for <hybi@ietf.org>; Mon, 1 Feb 2010 10:29:08 -0800 (PST)
Received: by bwz24 with SMTP id 24so758901bwz.29 for <hybi@ietf.org>; Mon, 01 Feb 2010 10:29:39 -0800 (PST)
Received: by 10.204.143.78 with SMTP id t14mr3703610bku.10.1265048978898; Mon, 01 Feb 2010 10:29:38 -0800 (PST)
Received: from ?10.10.1.14? (60-242-119-126.tpgi.com.au [60.242.119.126]) by mx.google.com with ESMTPS id 16sm2261670bwz.11.2010.02.01.10.29.34 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 01 Feb 2010 10:29:37 -0800 (PST)
Message-ID: <4B671D89.3060506@webtide.com>
Date: Tue, 02 Feb 2010 05:29:29 +1100
From: Greg Wilkins <gregw@webtide.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
MIME-Version: 1.0
To: Maciej Stachowiak <mjs@apple.com>
References: <557ae280911171402v7546e5e7n93a1e57f87dc10e5@mail.gmail.com> <Pine.LNX.4.62.0912032347360.15540@hixie.dreamhostps.com> <4B2C1D52.9020505@webtide.com> <5c902b9e0912181640n497169cdrfa71f9a2908e6ef3@mail.gmail.com> <20091219005442.GA10949@shareable.org> <4B2C287E.1030006@webtide.com> <Pine.LNX.4.64.1001310835410.3846@ps20323.dreamhostps.com> <5821ea241001311219j111d25a3h27fb2d05a2ece32d@mail.gmail.com> <5821ea241001311226s3d2092d7kef13f958db3a0132@mail.gmail.com> <A3071537-C3A5-4C0D-945F-618382435383@apple.com> <5c902b9e1001312024k7ba2df94iceeb0828051fddaf@mail.gmail.com> <568D478E-DEE2-440B-8A71-8F1B9970E60D@apple.com>
In-Reply-To: <568D478E-DEE2-440B-8A71-8F1B9970E60D@apple.com>
X-Enigmail-Version: 0.95.7
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Cc: hybi@ietf.org
Subject: Re: [hybi] Web sockets and existing HTTP stacks
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: Mon, 01 Feb 2010 18:29:10 -0000

Maciej Stachowiak wrote:

>> Then if we ever get HTTP/1.2 or HTTP/2.0, websocket will not break!
>
> If the client tries to upgrade an HTTP/1.1 request to WebSocket and the
> server gives an HTTP/1.2 or HTTP/2.0 response, then it had better break!
> We'll need to adjust the client side of the protocol before we can let
> servers respond with different versions of HTTP.

Why?

Saying HTTP/1.2 in a response line does not make the response
version 1.2. The version of the response is controlled by the version of
the request. The version in  the response says what the server is capable
of.  A HTTP/1.2 capable server should be able to server 1.0 websocket
clients without further breaking the http protocol by hacking about its
version for one particular upgrade protocol.

So this is a perfect example how websockets will break future server
code by not following the http contract.

regards.