Re: Minimizing/avoiding User-Agent, was: SPDY Header Frames

Mark Nottingham <mnot@mnot.net> Wed, 18 July 2012 00:25 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B61D911E80EB for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 17 Jul 2012 17:25:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.921
X-Spam-Level:
X-Spam-Status: No, score=-8.921 tagged_above=-999 required=5 tests=[AWL=1.078, BAYES_00=-2.599, J_CHICKENPOX_63=0.6, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gZj0kHY5UR01 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 17 Jul 2012 17:25:26 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id C1D1E11E80B5 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 17 Jul 2012 17:25:26 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1SrI4a-00051R-EM for ietf-http-wg-dist@listhub.w3.org; Wed, 18 Jul 2012 00:25:00 +0000
Resent-Date: Wed, 18 Jul 2012 00:25:00 +0000
Resent-Message-Id: <E1SrI4a-00051R-EM@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1SrI4R-00050I-2C for ietf-http-wg@listhub.w3.org; Wed, 18 Jul 2012 00:24:51 +0000
Received: from mxout-07.mxes.net ([216.86.168.182]) by lisa.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1SrI4P-00064g-Mx for ietf-http-wg@w3.org; Wed, 18 Jul 2012 00:24:51 +0000
Received: from mnot-mini.mnot.net (unknown [118.209.196.77]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id D32B222E257; Tue, 17 Jul 2012 20:24:26 -0400 (EDT)
Mime-Version: 1.0 (Apple Message framework v1278)
Content-Type: text/plain; charset="iso-8859-1"
From: Mark Nottingham <mnot@mnot.net>
X-Priority: 3 (Normal)
In-Reply-To: <39a908269aed0fec3d0456ce7f7f38b2.squirrel@arekh.dyndns.org>
Date: Wed, 18 Jul 2012 10:24:22 +1000
Cc: Julian Reschke <julian.reschke@gmx.de>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <AA365728-A181-4B8B-9693-E63E1EFA6909@mnot.net>
References: <34f9c6a0d9659dcfc9adcf38fdace0dd.squirrel@arekh.dyndns.org> <5005B6FD.2030706@gmx.de> <39a908269aed0fec3d0456ce7f7f38b2.squirrel@arekh.dyndns.org>
To: Nicolas Mailhot <nicolas.mailhot@laposte.net>
X-Mailer: Apple Mail (2.1278)
Received-SPF: pass client-ip=216.86.168.182; envelope-from=mnot@mnot.net; helo=mxout-07.mxes.net
X-W3C-Hub-Spam-Status: No, score=-1.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: lisa.w3.org 1SrI4P-00064g-Mx 34cb2432311c08822db24c923c4ba29e
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Minimizing/avoiding User-Agent, was: SPDY Header Frames
Archived-At: <http://www.w3.org/mid/AA365728-A181-4B8B-9693-E63E1EFA6909@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/14403
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Just a clarification (without commenting on what roles intermediaries should play) --

The intent of the small-hdrs hint is NOT to omit the UA header;

<http://tools.ietf.org/html/draft-nottingham-http-browser-hints-03#section-5.7>

>    o  Description: When true, this hint indicates that clients can omit
>       the Accept and Accept-Charset request headers when communicating
>       with the resource, and that they can use a shortened version of
>       the User-Agent header.

This is because browser vendors tend to emit a long (and somewhat unnatural) UA header because any significant changes will hurt interop. small-hdrs says "don't worry, I'm not doing weird browser sniffing on historic UA strings, so send me a compact, simple UA" -- not "don't send me a UA".

This may be an opportunity to introduce a profile of the UA header, but I didn't attempt that in the current draft (hoping that browser implementers can figure out a shorter UA header on their own).

Cheers,



On 18/07/2012, at 5:23 AM, Nicolas Mailhot wrote:

> 
> Le Mar 17 juillet 2012 21:03, Julian Reschke a écrit :
>> On 2012-07-17 20:50, Nicolas Mailhot wrote:
>>> Julian Reschke <julian.reschke@...> writes:
>>> 
>>>> 
>>>> On 2012-07-17 15:38, Poul-Henning Kamp wrote:
>>> 
>>>>> There must be a smarter way than "User-Agent:"...
>>>> 
>>>> Actually one nice potential optimization is if the server can declare
>>>> that it's not interested in the User-Agent at all; see
>>>> <http://tools.ietf.org/html/draft-nottingham-http-browser-hints-03#section-5.7>
>>> 
>>> The server may not be interested by intermediaries may still be
>>> 
>>> (while ugly user-agent special-casing is quite useful for proxy
>>> operators
>>> that have to contend with web clients that were never really tested with
>>> proxies and misbehave big way)
>> 
>> Could you elaborate? What kind of misbehavior are you referring to?
> 
> Typical misbehaviour is inability to cope with intermediary-inserted
> redirect and error codes, and retrying in a loop (because the developer
> could not bother to write error handling code, considers that all errors
> on the Internet are transient, so with enough retrying he will get
> whatever he expected to get at first)
> 
> Then you get the web clients that try to interpret error pages as if they
> were whatever they expected to get at first, with sometimes weird results.
> 
> Then you get the 'pump as much as you can' web client that will starve
> everything else.
> 
> It's usually less invasive to blacklist or limit just the specific
> troublesome client instead of targeting the URLs it tries to access or the
> system it runs on (because the buggy part is the web client,the user who
> installed it may do legitimate work with other web clients at the same
> time, the broken web client will misbehave the same way tomorrow with
> other web sites, and this way the protection is in place before other
> systems are infected with brokenware)
> 
> I really hope HTTP/2 makes intermediaries first-call citizens and
> clarifies intermediary/web client signalling so such things happen less
> often in the http/2 future (though bugs will always exist, so a client
> signature to home on is nice)
> 
> -- 
> Nicolas Mailhot
> 
> 

--
Mark Nottingham   http://www.mnot.net/