Re: [hybi] It's time to ship

Ian Fette (イアンフェッティ) <ifette@google.com> Mon, 10 January 2011 06:06 UTC

Return-Path: <ifette@google.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 519443A6A06 for <hybi@core3.amsl.com>; Sun, 9 Jan 2011 22:06:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.121
X-Spam-Level:
X-Spam-Status: No, score=-104.121 tagged_above=-999 required=5 tests=[AWL=-1.445, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1, 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 NfON1crOI6xc for <hybi@core3.amsl.com>; Sun, 9 Jan 2011 22:06:05 -0800 (PST)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id AEA283A6A03 for <hybi@ietf.org>; Sun, 9 Jan 2011 22:06:05 -0800 (PST)
Received: from kpbe20.cbf.corp.google.com (kpbe20.cbf.corp.google.com [172.25.105.84]) by smtp-out.google.com with ESMTP id p0A68HxA008263 for <hybi@ietf.org>; Sun, 9 Jan 2011 22:08:17 -0800
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1294639698; bh=FviWSME5MySLv+E4kh/pyQZVlPE=; h=MIME-Version:Reply-To:In-Reply-To:References:Date:Message-ID: Subject:From:To:Cc:Content-Type; b=sh01qf3yjFaHevucL0zFqkkKrvOnSzyEOsvAIuMKw6UB094pRmQNjxKfyYggPLYs9 whdTm0GyVIncspTIESVYg==
Received: from qwa26 (qwa26.prod.google.com [10.241.193.26]) by kpbe20.cbf.corp.google.com with ESMTP id p0A68GpP027242 for <hybi@ietf.org>; Sun, 9 Jan 2011 22:08:16 -0800
Received: by qwa26 with SMTP id 26so19351173qwa.14 for <hybi@ietf.org>; Sun, 09 Jan 2011 22:08:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=domainkey-signature:mime-version:received:received:reply-to :in-reply-to:references:date:message-id:subject:from:to:cc :content-type; bh=IY1l8zFxKHfXfHFnclcoeJsQoiZly0/BugxxhaVwruk=; b=omSGboPZ0oosE7u2d11y2vguKFqy2SZHWi4X1roemJeiruv2oyOKTSmio9kz0OaA21 m3K+AwJwd7Lt6Rt0OEWA==
DomainKey-Signature: a=rsa-sha1; c=nofws; d=google.com; s=beta; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; b=dNt1SJrJjeYfZsBpt0WJdS/tpf8L3m6YZudkVnBeElR9eJY6TNVnirAzH3J/kWCrr3 cldzCiEwnUQqrJqqo7Rw==
MIME-Version: 1.0
Received: by 10.229.251.137 with SMTP id ms9mr1570qcb.188.1294639693623; Sun, 09 Jan 2011 22:08:13 -0800 (PST)
Received: by 10.229.0.137 with HTTP; Sun, 9 Jan 2011 22:08:13 -0800 (PST)
In-Reply-To: <20110109224228.GU5743@1wt.eu>
References: <AANLkTim2VGfH2FiJ4iH85wYiuXNKQ1Arh1C1Kg4M58Fs@mail.gmail.com> <20110109224228.GU5743@1wt.eu>
Date: Sun, 09 Jan 2011 22:08:13 -0800
Message-ID: <AANLkTikgB+Ju-k0obs9it7TOsy8B1jaCYv8zBpB9dEa_@mail.gmail.com>
From: "Ian Fette (イアンフェッティ)" <ifette@google.com>
To: Willy Tarreau <w@1wt.eu>
Content-Type: multipart/alternative; boundary="00163630feb30d29c3049977cb0d"
X-System-Of-Record: true
Cc: Hybi <hybi@ietf.org>
Subject: Re: [hybi] It's time to ship
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: ifette@google.com
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, 10 Jan 2011 06:06:07 -0000

On Sun, Jan 9, 2011 at 2:42 PM, Willy Tarreau <w@1wt.eu> wrote:

> Hello Adam,
>
> On Sun, Jan 09, 2011 at 02:21:44PM -0800, Adam Barth wrote:
> > Gentle people of hybi,
> >
> > There's been a lot of good discussion in this working group gathering
> > consensus around the data framing and the handshake.  At some point we
> > need to declare victory and ship the protocol, otherwise proprietary
> > solutions will continue to eat our lunch.
> >
> > I've written up a more formal version of Pat's proposal based on the
> > recent straw poll and subsequent discussion.  This protocol is by no
> > means perfect, but it's good enough:
> >
> > http://www.ietf.org/id/draft-abarth-thewebsocketprotocol-01.txt
>
> It would help a lot other WG participants if you could present suggestions,
> ideas and changes instead of a full proposal. It's hard to spot the
> proposed
> changes.
>
> At first glance, I'm noticing a few things :
>
>  - you're using the OPTIONS method. The WG's consensus was voted as using
>    GET. While technically working, OPTIONS limits some possibilities since
>    no path is sent to the server.
>
>
I agree it is important to be able to identify between various resources on
a server. E.g. for our use, we will have multiple different websocket
endpoints, and we want our frontend to be able to dispatch to the
appropriate backend based on the information in the handshake. That said, I
think the draft allows for that (Sec-WebSocket-URL), or as pointed out on
another thread, it appears OPTIONS does allow for a path component. So, I
think we should be able to resolve that point.


>  - your proposal involves AES-128-CTR. As was discussed here, it seems
> there
>    are still export regulations for certain countries eventhough they're
>    apparently fading out. It could still be a problem for companies who
> want
>    to export products to some countries and which never had to put crypto
> in
>    them.
>

It would be nice to understand if this is actually a hard constraint.
AES-128-CTR has the benefit of being well understood, as well as fast, as
demonstrated by Maciej in another thread. That said, I don't care strongly
one way or another here.


>
>  - several people on the list asked for the ability to be able to disable
>    the masking in some well-controlled environments (eg: server-to-server
>    communications). I see no provisions for this.
>
>
There's nothing that would prevent you from writing an extension that would
disable the masking, from my understanding.


>  - it has not yet been stated whether only the payload or also the framing
>    should be masked. Your proposal masks both, which means that it
> definitely
>    blocks any possibility of performing multiplexing later. There does not
>    appear to have been a consensus in this area yet.
>
>
I'm not sure why this would block the possibility of multiplexing. I would
agree that would be a problem if it were the case. However, a number of the
early proposals for multiplexing included something like a stream-id in the
frame. This could still be present. Though it would be masked, so would the
length and other things that a meaningful intermediary would care about, so
assuming the intermediary was capable of un-masking, is this an issue?


>  - is was suggested that some (all ?) of the nonces could go away if
> masking
>    is used. Surely this is something that needs to be rechecked.
>

 - Greg proposed to replace the MORE bit with a FIN bit so that the first
>    hello frame from the server starts with a high bit set, thus ensuring
>    that we can break the connection on non-HTTP compliant intermediaries
>    which would expect a second response after the 101.
>
>
The draft Adam sent out is based on an intermediate version I had checked
into SVN, back when it looked like we were gaining speed on CONNECT. I
didn't yet get around to flipping MORE/FIN, but I don't have any ojbections
to this.


> Those are just a few notes, it's really not easy to changes :-/
>

There's a tool on the IETF to diff drafts. I find it quite helpful, that
said, a lot of text has changed because I had already started to make other
requested changes (including trying to resolve the HTTP compliance issue, by
stating the requirements of the handshake rather than stating send X bytes,
send Y bytes, ...). This makes the diff a bit harder to interpret, for sure.

That said, I do hope that this can spur some more targeted conversations and
drive progress.


>
> Thanks for this work,
> Willy
>
>
>
> >
> > As a working group, it's time to ship.
> >
> > Kind regards,
> > Adam
> > _______________________________________________
> > hybi mailing list
> > hybi@ietf.org
> > https://www.ietf.org/mailman/listinfo/hybi
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi
>