Re: [hybi] Additional HTTP headers on upgrade request?

Jamie Lokier <jamie@shareable.org> Wed, 21 July 2010 01:12 UTC

Return-Path: <jamie@shareable.org>
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 DF4C33A69BB for <hybi@core3.amsl.com>; Tue, 20 Jul 2010 18:12:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.134
X-Spam-Level:
X-Spam-Status: No, score=-2.134 tagged_above=-999 required=5 tests=[AWL=0.465, 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 oHjNI7SkR8P7 for <hybi@core3.amsl.com>; Tue, 20 Jul 2010 18:12:11 -0700 (PDT)
Received: from mail2.shareable.org (mail2.shareable.org [80.68.89.115]) by core3.amsl.com (Postfix) with ESMTP id 7B5033A69B6 for <hybi@ietf.org>; Tue, 20 Jul 2010 18:12:11 -0700 (PDT)
Received: from jamie by mail2.shareable.org with local (Exim 4.63) (envelope-from <jamie@shareable.org>) id 1ObNrB-0007Rn-Ej; Wed, 21 Jul 2010 02:12:21 +0100
Date: Wed, 21 Jul 2010 02:12:21 +0100
From: Jamie Lokier <jamie@shareable.org>
To: Ian Hickson <ian@hixie.ch>
Message-ID: <20100721011221.GC27243@shareable.org>
References: <n2s188fcbce1005071111kd19e6f41m861eaeb593d88475@mail.gmail.com> <4BE5994E.4010701@webtide.com> <u2n188fcbce1005092125veaf94306u249a225bdd3925ca@mail.gmail.com> <B8058102-9589-4663-976D-217B939667DD@apple.com> <Pine.LNX.4.64.1007210038520.7242@ps20323.dreamhostps.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <Pine.LNX.4.64.1007210038520.7242@ps20323.dreamhostps.com>
User-Agent: Mutt/1.5.13 (2006-08-11)
Cc: hybi@ietf.org
Subject: Re: [hybi] Additional HTTP headers on upgrade request?
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, 21 Jul 2010 01:12:13 -0000

Ian Hickson wrote:
> On Fri, 7 May 2010, Doug Simpkinson wrote:
> >
> > In draft 76, the upgrade request is said to include cookies that may be 
> > relevant, but no mention of other HTTP headers is made.
> > 
> > What about other relevant HTTP headers such as User-Agent and 
> > Accept-Language?  Shouldn't these also be sent?
> 
> What's the use case?
> 
> If there are clear and important use cases that are best handled by adding 
> new fields to the handshake, then we should add them.

The use case for User-Agent, normally determined by the client
implementation (not the application running on top of the WebSocket
API), is to provide servers with unreliable but pragmatically useful
information about what client implementations are using the server.

It is used for profiling, for general interest, for tracking what
clients may need to be supported if there are particular issues to be
avoided with some clients (such as a particular message that breaks
one of them), for tracking when clients with particular workarounds on
the server have fallen into sufficient misuse that the workarounds can
be removed, and for implementing specific workarounds for particular
recognised clients.

Hopefully workarounds at the WebSocket framing level are unlikely to
be commonly needed (although that might not be true if some clients
have a small message size limit and particular server applications
have to format their messages to accomodate this); but User-Agent
turned out to be quite pragmatic in HTTP for dealing with
client-specific issues that nobody had foreseen until they were too
widely deployed to ignore or fix.

-- Jamie