Re: #428 Accept-Language ordering for identical qvalues

"Roy T. Fielding" <fielding@gbiv.com> Fri, 18 January 2013 12:14 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 55CCE21F8703 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 18 Jan 2013 04:14:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Level:
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bW7xWoEHu1wV for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 18 Jan 2013 04:14:39 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 62FB321F8477 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 18 Jan 2013 04:14:39 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1TwAp0-0007sb-Tn for ietf-http-wg-dist@listhub.w3.org; Fri, 18 Jan 2013 12:13:22 +0000
Resent-Date: Fri, 18 Jan 2013 12:13:22 +0000
Resent-Message-Id: <E1TwAp0-0007sb-Tn@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <fielding@gbiv.com>) id 1TwAox-0007rU-C3 for ietf-http-wg@listhub.w3.org; Fri, 18 Jan 2013 12:13:19 +0000
Received: from caiajhbdcbbj.dreamhost.com ([208.97.132.119] helo=homiemail-a31.g.dreamhost.com) by lisa.w3.org with esmtp (Exim 4.72) (envelope-from <fielding@gbiv.com>) id 1TwAot-00069W-HZ for ietf-http-wg@w3.org; Fri, 18 Jan 2013 12:13:19 +0000
Received: from homiemail-a31.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a31.g.dreamhost.com (Postfix) with ESMTP id 127E320202C; Fri, 18 Jan 2013 04:12:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gbiv.com; h=subject :mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=gbiv.com; bh=fS3zi5pBryqXcjZyurGYyR9Dmvk=; b=OINK2bG8ua2DjlPLYTuwLaNERSQe tC/1Qi3zKc+FRj1NiAci23gbbc+6tdrmeHsPAH8k9tjG5xnKfOIYVJk6nJxaSd+E niyXk0+x8XPetr+C85XABZ9IQeNcBSNMlXCPXWCtrDHliyT94RcXtfYjyNJlITIh x2mZxNmGy+4ASpE=
Received: from [192.168.1.84] (99-21-208-82.lightspeed.irvnca.sbcglobal.net [99.21.208.82]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: fielding@gbiv.com) by homiemail-a31.g.dreamhost.com (Postfix) with ESMTPSA id D3FD9202018; Fri, 18 Jan 2013 04:12:53 -0800 (PST)
Mime-Version: 1.0 (Apple Message framework v1283)
Content-Type: text/plain; charset=iso-8859-1
From: "Roy T. Fielding" <fielding@gbiv.com>
In-Reply-To: <50F910C8.5010200@gmx.de>
Date: Fri, 18 Jan 2013 04:11:21 -0800
Cc: Amos Jeffries <squid3@treenet.co.nz>, ietf-http-wg@w3.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <802484C0-D644-425C-98EE-B91E2F0561AF@gbiv.com>
References: <50F6CD98.8080802@gmx.de> <2BF19800-66E0-42DC-B0B5-0F8CA6AE6379@gbiv.com> <50F7C0DC.90906@gmx.de> <838B1C13-3170-4BA1-8F1F-E171137E0BC8@gbiv.com> <50F86739.40302@gmx.de> <50F90BEF.8080604@treenet.co.nz> <50F910C8.5010200@gmx.de>
To: Julian Reschke <julian.reschke@gmx.de>
X-Mailer: Apple Mail (2.1283)
Received-SPF: none client-ip=208.97.132.119; envelope-from=fielding@gbiv.com; helo=homiemail-a31.g.dreamhost.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-3.424, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001
X-W3C-Scan-Sig: lisa.w3.org 1TwAot-00069W-HZ 0edddba787dba5545ba5f82d28f141e2
X-Original-To: ietf-http-wg@w3.org
Subject: Re: #428 Accept-Language ordering for identical qvalues
Archived-At: <http://www.w3.org/mid/802484C0-D644-425C-98EE-B91E2F0561AF@gbiv.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/16000
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>

On Jan 18, 2013, at 1:07 AM, Julian Reschke wrote:

> On 2013-01-18 09:46, Amos Jeffries wrote:
>> ...
>> ...
>> I'm with Roy on this one. It's not adding any new requirement about
>> interpretation, simply stating that the list is ordered, as is actually
>> the case from most senders.
>> There is no requirement added/removed about server interpretation so
>> those servers implementing random selection out of the ordered set are
>> still compliant. Those servers implementing ordered interpretation are
> > ...
> 
> They are? How so?
> 
> If the client sends
> 
> 	Accept-Language: en, de
> 
> and the server returns German text, although English would have been available, is it still compliant?

Yes.  It would also be conformant to send Mäori text.

>> now compliant - where before with the list defined as un-ordered they
>> would be non-compliant due to mis-interpreting an un-ordered list as
>> ordered.
> 
> That doesn't make sense, sorry.
> 
> If the list ordering is defined to be irrelevant it's totally ok to pick the first match.

Yes.

>> ...
>>> Right now they interoperate as specified by the spec. If we change the
>>> spec, they do not anymore (or only some of the time).
>>> 
>> 
>> The new spec does not forbid random selection. Merely states that the
>> client *wants* it to be interpreted non-randomly. Obeying that client
>> preference is still optional.
>> ...
> 
> Again, that doesn't make any sense at all.
> 
> If we say that the list is ordered by preference (in absence of qvalues), this implies that a recipient should pick the *first* matching language. If it does not, it's not interpreting the message as defined.

Ignoring the preferences sent in Accept-Language is conforming behavior.

Conformance is not a relevant issue here.  What matters is what the
user actually prefers. It is my opinion that when a user sets an
Accept-Language header to

  Accept-Language: en, de

what they are actually saying is that they accept both languages
but would prefer en if the de representation is no better.

The reason I believe this is because user agents that allow a
user to send such a header field have explicitly instructed the
user that the field is ordered (or based the value on some other
ordered list for the host UI, as is the case for some cell phones).
Servers that wish to implement content negotiation according to the
user's desires (not just the IETF's desires) will, in fact, treat
the order as significant; failing to do so results in bug reports.

This is a change to the specified semantics for Accept-Language,
but that is well within the scope of what we are chartered to do.

....Roy