Re: [hybi] More feedback on WebSockets

Greg Wilkins <gregw@webtide.com> Tue, 27 October 2009 21:02 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 081373A68C3 for <hybi@core3.amsl.com>; Tue, 27 Oct 2009 14:02:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.266
X-Spam-Level:
X-Spam-Status: No, score=-2.266 tagged_above=-999 required=5 tests=[AWL=0.333, 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 HaTUWsT6MADJ for <hybi@core3.amsl.com>; Tue, 27 Oct 2009 14:02:32 -0700 (PDT)
Received: from mail-bw0-f223.google.com (mail-bw0-f223.google.com [209.85.218.223]) by core3.amsl.com (Postfix) with ESMTP id F11063A6873 for <hybi@ietf.org>; Tue, 27 Oct 2009 14:02:31 -0700 (PDT)
Received: by bwz23 with SMTP id 23so173894bwz.29 for <hybi@ietf.org>; Tue, 27 Oct 2009 14:02:43 -0700 (PDT)
Received: by 10.204.25.71 with SMTP id y7mr3675002bkb.67.1256677363058; Tue, 27 Oct 2009 14:02:43 -0700 (PDT)
Received: from ?10.10.1.9? (60-242-119-126.tpgi.com.au [60.242.119.126]) by mx.google.com with ESMTPS id 14sm125792bwz.1.2009.10.27.14.02.39 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 27 Oct 2009 14:02:41 -0700 (PDT)
Message-ID: <4AE75FEA.3090001@webtide.com>
Date: Wed, 28 Oct 2009 08:02:34 +1100
From: Greg Wilkins <gregw@webtide.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
MIME-Version: 1.0
To: hybi@ietf.org
References: <FDC38D4B-AB64-4F6B-B569-81D7A56DEC8D@mnot.net> <Pine.LNX.4.62.0910270912040.9145@hixie.dreamhostps.com> <4AE6C7D1.30003@webtide.com> <Pine.LNX.4.62.0910271834480.25616@hixie.dreamhostps.com> <4AE75D12.4060302@webtide.com> <Pine.LNX.4.62.0910272055390.25608@hixie.dreamhostps.com>
In-Reply-To: <Pine.LNX.4.62.0910272055390.25608@hixie.dreamhostps.com>
X-Enigmail-Version: 0.95.7
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Subject: Re: [hybi] More feedback on 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: Tue, 27 Oct 2009 21:02:33 -0000

Ian Hickson wrote:
> On Wed, 28 Oct 2009, Greg Wilkins wrote:
>> Ian Hickson wrote:
>>> On Tue, 27 Oct 2009, Greg Wilkins wrote:
>>>> Ian Hickson wrote:
>>>>> I disagree that the current handshake isn't like HTTP enough, though. 
>>>>> The request is fully HTTP-compliant. What value would there be in 
>>>>> relaxing the rules on what WebSocket clients should send in the 
>>>>> request? I don't understand the real-world case you are concerned 
>>>>> about.
>>>> What about a load balancer in front of the server that inserts a cookie 
>>>> or X-Forwarded-For header into all HTTP requests that it forwards.
>>>>
>>>> This will probably be harmless with regards to the subsequent WS 
>>>> connection, but it will break the handshake so there will not be a 
>>>> subsequent WS connection.
>>> How do such load balancers handle pipelining?
>>>
>>> If they support them, then that means they are almost certainly 
>>> incompatible with WebSocket, as far as I can tell, and we would _want_ the 
>>> connection to fail.
>> They all are different.  But many just look at the first request on
>> a connection and then just treat the rest of the connection with
>> packet forwarding.   So that type should work.
>>
>> Others look at every request and will probably not work.
> 
> For the packet-forwarding ones, are we talking about inserting a header on 
> incoming connections (client to server) or outgoing responses (server back 
> to client)?
> 


Again - there are a huge number of variations.

But inserting  X-forwarded-for headers on requests and Via headers
on responses is common.
So is setting cookies on responses so that subsequent
connections can be balanced the same.
Also SSL offload will want to set certificate details in the
request header.

regards