Re: [hybi] Shipping WebSockets

Gabriel Montenegro <gmonte@microsoft.com> Wed, 15 December 2010 18:28 UTC

Return-Path: <gmonte@microsoft.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 6118D28C1EF for <hybi@core3.amsl.com>; Wed, 15 Dec 2010 10:28:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.299
X-Spam-Level:
X-Spam-Status: No, score=-10.299 tagged_above=-999 required=5 tests=[AWL=0.300, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
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 Hra5T2CHSm3z for <hybi@core3.amsl.com>; Wed, 15 Dec 2010 10:28:32 -0800 (PST)
Received: from smtp.microsoft.com (smtp.microsoft.com [131.107.115.214]) by core3.amsl.com (Postfix) with ESMTP id 4CF2E28C1EE for <hybi@ietf.org>; Wed, 15 Dec 2010 10:28:32 -0800 (PST)
Received: from TK5EX14MLTC101.redmond.corp.microsoft.com (157.54.79.178) by TK5-EXGWY-E803.partners.extranet.microsoft.com (10.251.56.169) with Microsoft SMTP Server (TLS) id 8.2.176.0; Wed, 15 Dec 2010 10:30:15 -0800
Received: from TK5EX14MLTW652.wingroup.windeploy.ntdev.microsoft.com (157.54.71.68) by TK5EX14MLTC101.redmond.corp.microsoft.com (157.54.79.178) with Microsoft SMTP Server (TLS) id 14.1.255.3; Wed, 15 Dec 2010 10:30:14 -0800
Received: from TK5EX14MBXW602.wingroup.windeploy.ntdev.microsoft.com ([169.254.2.141]) by TK5EX14MLTW652.wingroup.windeploy.ntdev.microsoft.com ([157.54.71.68]) with mapi; Wed, 15 Dec 2010 10:30:14 -0800
From: Gabriel Montenegro <gmonte@microsoft.com>
To: Greg Wilkins <gregw@webtide.com>, John Tamplin <jat@google.com>
Thread-Topic: [hybi] Shipping WebSockets
Thread-Index: AQHLm+xTQ2CTmRLXCUG3PBnWcOGGdJOhtViAgACHi4CAAAVVAP//kT6ugAAA5/s=
Date: Wed, 15 Dec 2010 18:30:10 +0000
Message-ID: <F16F4A8A-CFBD-44C1-B4A2-EC209E793AF7@mimectl>
References: <B0B3789C-1D3C-4A4E-B37F-8F43FFC7D905@mnot.net> <AANLkTi=Z8Hcp7FBDumgMPH4YmQ1=yqOPwAxD095yzLBt@mail.gmail.com> <AANLkTik6etgMy7jDhWtg+xqhoMzsJy-4U-xveue2gD32@mail.gmail.com>, <AANLkTimw5bHL+GwkMhPC5DwLUJZzeSvfURQQy-XSJxpi@mail.gmail.com>
In-Reply-To: <AANLkTimw5bHL+GwkMhPC5DwLUJZzeSvfURQQy-XSJxpi@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mimectl: Produced By Microsoft Exchange V14.0.639.19
Content-Type: multipart/alternative; boundary="_000_F16F4A8ACFBD44C1B4A2EC209E793AF7mimectl_"
MIME-Version: 1.0
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: Wed, 15 Dec 2010 18:28:33 -0000

FYI, we have submitted a draft that's essentially the handshake that Greg proposed a while back.
We'd like to use it as a basis for further iteration.

http://tools.ietf.org/html/draft-montenegro-hybi-upgrade-hello-handshake

Agree on base64.

Gabriel
________________________________
From: hybi-bounces@ietf.org [hybi-bounces@ietf.org] on behalf of Greg Wilkins [gregw@webtide.com]
Sent: Wednesday, December 15, 2010 09:03
To: John Tamplin
Cc: hybi@ietf.org HTTP
Subject: Re: [hybi] Shipping WebSockets

On 15 December 2010 17:44, John Tamplin <jat@google.com> wrote:
> On Wed, Dec 15, 2010 at 3:39 AM, Greg Wilkins <gregw@webtide.com> wrote:
>> Does anybody object to wrapping the nonce/hash bytes sent after the
>> handshake requests as HELLO frames?  This means that implementations
>> only need to deal with 2 framing mechanisms not 3.
>
> In the absence of information about the rest of the handshake, yes.
> All else being equal, I would prefer they be included in headers.

Well I would not argue with them being headers either.


> I don't understand what you mean about 2 framing mechanisms instead of 3 though.

The connection opens, you first have to parse HTTP.  You then have to
parse 8 bytes.  You then parse websocket packets.

Sure that is trivial if you are writing a blocking implementation.
But if you want to scale, you have to be asynchronous and you can't
assume that all the 8 bytes will arrive at once.  So you have to have
a little state machine to track the arrival of those bytes.  This is
just needless complication and will be a source of errors.    If the
bytes are framed as WS, then you can simply switch from the HTTP
parser to the WS parser

Also, without any framing, then any 8 bytes sent (eg another HTTP
request) will look like the random bytes.  This is not robust




>> Does anybody object to simple hex encoding of nonces and hashes?
>
> I wouldn't block it, but base64 seems better and sufficient.

sure b64 is good also.


cheers
_______________________________________________
hybi mailing list
hybi@ietf.org
https://www.ietf.org/mailman/listinfo/hybi