Re: [hybi] An alternative design for the web socket handshake

Maciej Stachowiak <mjs@apple.com> Fri, 14 May 2010 05:28 UTC

Return-Path: <mjs@apple.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 D79013A6B80 for <hybi@core3.amsl.com>; Thu, 13 May 2010 22:28:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.266
X-Spam-Level:
X-Spam-Status: No, score=-105.266 tagged_above=-999 required=5 tests=[AWL=-0.156, BAYES_05=-1.11, RCVD_IN_DNSWL_MED=-4, 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 JN9rPvYb4b+v for <hybi@core3.amsl.com>; Thu, 13 May 2010 22:28:28 -0700 (PDT)
Received: from mail-out4.apple.com (mail-out4.apple.com [17.254.13.23]) by core3.amsl.com (Postfix) with ESMTP id 127A33A6A27 for <hybi@ietf.org>; Thu, 13 May 2010 22:26:34 -0700 (PDT)
Received: from relay16.apple.com (relay16.apple.com [17.128.113.55]) by mail-out4.apple.com (Postfix) with ESMTP id 7489B99A7D19 for <hybi@ietf.org>; Thu, 13 May 2010 22:25:36 -0700 (PDT)
X-AuditID: 11807137-b7c23ae000001561-59-4becded0a498
Received: from et.apple.com (et.apple.com [17.151.62.12]) by relay16.apple.com (Apple SCV relay) with SMTP id 65.90.05473.0DEDCEB4; Thu, 13 May 2010 22:25:36 -0700 (PDT)
MIME-version: 1.0
Content-transfer-encoding: 7bit
Content-type: text/plain; charset="us-ascii"
Received: from [17.151.110.154] by et.apple.com (Sun Java(tm) System Messaging Server 6.3-7.04 (built Sep 26 2008; 32bit)) with ESMTPSA id <0L2E00KGP9QNB250@et.apple.com> for hybi@ietf.org; Thu, 13 May 2010 22:25:36 -0700 (PDT)
From: Maciej Stachowiak <mjs@apple.com>
In-reply-to: <20100514040822.GC23444@shareable.org>
Date: Thu, 13 May 2010 22:25:35 -0700
Message-id: <17E8C6B7-B6E9-4C7C-B368-A8BF58FF4C72@apple.com>
References: <y2s5c4444771005131226l18de7b18l6d80411890049552@mail.gmail.com> <Pine.LNX.4.64.1005132114240.12269@ps20323.dreamhostps.com> <4932AA59-997B-48DB-AB28-3CF769B7286D@apple.com> <Pine.LNX.4.64.1005132141110.12269@ps20323.dreamhostps.com> <20100514040822.GC23444@shareable.org>
To: Jamie Lokier <jamie@shareable.org>
X-Mailer: Apple Mail (2.1078)
X-Brightmail-Tracker: AAAAAQAAAZE=
Cc: Hybi <hybi@ietf.org>
Subject: Re: [hybi] An alternative design for the web socket handshake
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: Fri, 14 May 2010 05:28:32 -0000

On May 13, 2010, at 9:08 PM, Jamie Lokier wrote:

> 
> 
> Port 80 == available near-universally; unencrypted == low overhead.
> 
> Port 443 == not available universally; encrypted == high overhead;
> certificated == impossible to coalesce by intermediaries.

Do you have evidence that port 80 is more widely available than 443?

> Port other == not available universally.
> 
> So port 80 is a legitimate thing to want to use sometimes, and it must
> have a HTTP compatible handshake due to intermediaries which intercept
> and mess about with port 80 connections.
> 
> Otherwise we're back to not using WebSocket and using hanging-GET instead.
> 
> (Now, using TLS over port 80 _after_ the HTTP-compatible handshake, for
> when you want an encrypted/authenticated connection with near
> universal availability, there's a thought...)

Port 80 already has a way to upgrade to TLS, see RFC2817. I don't think we need to create a different way to upgrade HTTP to TLS. Note that you could do the HTTP-to-TLS upgrade followed by the WebSocket upgrade to talk over port 80, though I think that would be a pretty harsh requirement for a standalone server.

Regards,
Maciej