Re: #428 Accept-Language ordering for identical qvalues

Julian Reschke <> Thu, 24 January 2013 14:51 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B1CD521F8A53 for <>; Thu, 24 Jan 2013 06:51:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8.599
X-Spam-Status: No, score=-8.599 tagged_above=-999 required=5 tests=[AWL=2.000, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id AjBKFkckh2-N for <>; Thu, 24 Jan 2013 06:51:43 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 59F9421F8A1C for <>; Thu, 24 Jan 2013 06:51:43 -0800 (PST)
Received: from lists by with local (Exim 4.72) (envelope-from <>) id 1TyO8r-0000J2-2x for; Thu, 24 Jan 2013 14:51:01 +0000
Resent-Date: Thu, 24 Jan 2013 14:51:01 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtp (Exim 4.72) (envelope-from <>) id 1TyO8m-0000IJ-N9 for; Thu, 24 Jan 2013 14:50:56 +0000
Received: from ([]) by with esmtp (Exim 4.72) (envelope-from <>) id 1TyO8g-0005BP-0a for; Thu, 24 Jan 2013 14:50:56 +0000
Received: from ([]) by mrigmx.server.lan (mrigmx002) with ESMTP (Nemesis) id 0LtC3J-1V0YMO3Z63-012mdY for <>; Thu, 24 Jan 2013 15:50:23 +0100
Received: (qmail invoked by alias); 24 Jan 2013 14:50:22 -0000
Received: from (EHLO []) [] by (mp002) with SMTP; 24 Jan 2013 15:50:22 +0100
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1/df6R7ZWLdFxFyyt1nu+IoWNsCdkgnmtGXylIHBB 68/2ryQi9RlTNv
Message-ID: <>
Date: Thu, 24 Jan 2013 15:50:19 +0100
From: Julian Reschke <>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2
MIME-Version: 1.0
To: "Roy T. Fielding" <>
CC: Mark Nottingham <>, HTTP Working Group <>
References: <> <> <> <> <> <>
In-Reply-To: <>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-3.450, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001
X-W3C-Scan-Sig: 1TyO8g-0005BP-0a 52db4d49ec23e7dfe1dc941e674fd923
Subject: Re: #428 Accept-Language ordering for identical qvalues
Archived-At: <>
X-Mailing-List: <> archive/latest/16149
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On 2013-01-24 06:40, Roy T. Fielding wrote:
> On Jan 23, 2013, at 5:17 PM, Mark Nottingham wrote:
>> So, does anyone have an issue with making ordering significant when there's no qvalue for *all* headers that use qvalues?
>> Roy, I'm interpreting your answer as "we don't do anything with this information today," but as per below I don't think this stops us from defining it that way.
> Sorry, I wasn't clear.  There is no code out there today that would
> correspond to such a change.  I don't like making changes to HTTP
> just for the sake of imaginary consistency of definitions.
> Making them for the sake of consistency with implementations is fine.
> If it is a choice, I'd rather remove the line from Accept-Language
> than introduce new (unproven) things to Accept.
> ...


In the meantime I had another look at RFC 4647:

> 2.3. The Language Priority List
>    A user's language preferences will often need to specify more than
>    one language range, and thus users often need to specify a
>    prioritized list of language ranges in order to best reflect their
>    language preferences.  This is especially true for speakers of
>    minority languages.  A speaker of Breton in France, for example, can
>    specify "br" followed by "fr", meaning that if Breton is available,
>    it is preferred, but otherwise French is the best alternative.  It
>    can get more complex: a different user might want to fall back from
>    Skolt Sami to Northern Sami to Finnish.
>    A "language priority list" is a prioritized or weighted list of
>    language ranges.  One well-known example of such a list is the
>    "Accept-Language" header defined in RFC 2616 [RFC2616] (see Section
>    14.4) and RFC 3282 [RFC3282].
>    The various matching operations described in this document include
>    considerations for using a language priority list.  This document
>    does not define the syntax for a language priority list; defining
>    such a syntax is the responsibility of the protocol, application, or
>    specification that uses it.  When given as examples in this document,
>    language priority lists will be shown as a quoted sequence of ranges
>    separated by commas, like this: "en, fr, zh-Hant" (which is read
>    "English before French before Chinese as written in the Traditional
>    script").
>    A simple list of ranges is considered to be in descending order of
>    priority.  Other language priority lists provide "quality weights"
>    for the language ranges in order to specify the relative priority of
>    the user's language preferences.  An example of this is the use of
>    "q" values in the syntax of the "Accept-Language" header (defined in
>    [RFC2616], Section 14.4, and [RFC3282]).

So in fact what the spec used to say is indeed consistent with 4647; 
there is no consistency problem that needs to be solved.

Best regards, Julian