Re: [hybi] Experiment comparing Upgrade and CONNECT handshakes

Greg Wilkins <gregw@webtide.com> Wed, 01 December 2010 19:00 UTC

Return-Path: <gregw@intalio.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 AE31D3A6C29 for <hybi@core3.amsl.com>; Wed, 1 Dec 2010 11:00:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.31
X-Spam-Level:
X-Spam-Status: No, score=-2.31 tagged_above=-999 required=5 tests=[AWL=0.067, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_37=0.6, RCVD_IN_DNSWL_LOW=-1]
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 0m7MevDnUT06 for <hybi@core3.amsl.com>; Wed, 1 Dec 2010 11:00:06 -0800 (PST)
Received: from mail-qw0-f44.google.com (mail-qw0-f44.google.com [209.85.216.44]) by core3.amsl.com (Postfix) with ESMTP id C50523A6B46 for <hybi@ietf.org>; Wed, 1 Dec 2010 11:00:06 -0800 (PST)
Received: by qwg5 with SMTP id 5so6312455qwg.31 for <hybi@ietf.org>; Wed, 01 Dec 2010 11:01:20 -0800 (PST)
MIME-Version: 1.0
Received: by 10.224.67.17 with SMTP id p17mr1614234qai.382.1291230079430; Wed, 01 Dec 2010 11:01:19 -0800 (PST)
Sender: gregw@intalio.com
Received: by 10.220.167.203 with HTTP; Wed, 1 Dec 2010 11:01:19 -0800 (PST)
In-Reply-To: <AANLkTi=r-is4ZqJc6itsaBkyrmW746xXj8OV78M_Qbi3@mail.gmail.com>
References: <AANLkTik0wR-Oag5YJJDmdiSy67WW6TMaHmqWEo4o5kGW@mail.gmail.com> <AANLkTimwEtKrJm5KxTYZ4wrtONBYDTGjE5LF7__AHBEU@mail.gmail.com> <20101201183540.GF19021@1wt.eu> <AANLkTi=r-is4ZqJc6itsaBkyrmW746xXj8OV78M_Qbi3@mail.gmail.com>
Date: Wed, 01 Dec 2010 20:01:19 +0100
X-Google-Sender-Auth: gv-ejxCO5_6NyY7zEJMfI9hooWI
Message-ID: <AANLkTimtjYUOidZcxkSEtaUniJC6m8ujzFa69DMQVhZH@mail.gmail.com>
From: Greg Wilkins <gregw@webtide.com>
To: John Tamplin <jat@google.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: Hybi <hybi@ietf.org>, Zhong Yu <zhong.j.yu@gmail.com>
Subject: Re: [hybi] Experiment comparing Upgrade and CONNECT handshakes
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, 01 Dec 2010 19:00:07 -0000

On 1 December 2010 19:43, John Tamplin <jat@google.com> wrote:
> AFAIK, the Hello frames do not appear in any draft and only in Greg's
> proposal.  Personally, I am not sure what exactly they buy us and I
> don't know if we want to pay the extra round trip for them.

As proposed, the Hello frames do not cost an extra round trip.


The Hello frames are proposed to replace the current unframed bytes.
There primary purpose is  to test the connection after an upgrade to
see if WS frames really can be exchanged.  The secondary purpose was
to carry nonces and hashes.

I think with CONNECT there is probably less need for such Hello
packets, as I think it much more likely that if a CONNECT succeeds
then the path will be good.   But there could still be some failure
cases, so there may still be value.   For example, consider a  really
dumb intermediary that reads a HTTP request in full, then forwards it
and then reads the response in full.  Such an intermediary would be
able to forward a CONNECT and the 200 response, but would not then
function as a WS intermediary.  Sending the Hello frame from the
server would detect this as the client would timeout waiting for it.
Without the Hello frame, the client would never know if the connection
is working or if the server just has nothing to say.

So this is why I think we should have kept incrementally improving the
current handshake, so we could now simply switch to CONNECT.  But we
still have the issue of the unframed bytes and the space encoded
nonces etc.     I think both of these things need to go regardless of
a switch to CONNECT.    Thus I think we should accept the Hello
proposals before switching to CONNECT (but I don't necessarily think
we need a draft inbetween).

regards

















> So, if we really want this to be incremental, it would be a change
> from Ian's last draft.
>
> As I understand it, these are the components of Adam's latest proposal:
>  1) use CONNECT instead of GET+Upgrade
>  2) use a fixed, bogus host header and mask the real headers
>  3) mask all payload data
>  4) encode the headers as JSON
>
> --
> John A. Tamplin
> Software Engineer (GWT), Google
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi
>