W3C home > Mailing lists > Public > ietf-http-wg@w3.org > January to March 2013

draft-ietf-httpbis-p2-semantics section 3.1.3.1 confusion

From: Dave Thaler <dthaler@microsoft.com>
Date: Thu, 28 Mar 2013 18:26:56 +0000
To: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Message-ID: <44E744236D325141AE8DDC88A45908AD0C447C@TK5EX14MBXC264.redmond.corp.microsoft.com>
http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-22#section-3.1.3.1 says:
>   HTTP uses language tags within the Accept-Language and Content-Language fields.
>
>     language-tag = <Language-Tag, defined in [RFC5646], Section 2.1>

Section 3.1.3.1 defines a language tag by reference to RFC5646 section 2.1.

Per http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-22#section-5.3.5 
the Accept-Language header, however, uses a language-range not a language-tag:

     Accept-Language = 1#( language-range [ weight ] )
     language-range  =
               <language-range, defined in [RFC4647], Section 2.1>

Note the different reference, and following that reference we find the explicit statement that:
   A basic language range differs from the language tags defined in
   [RFC4646] only in that there is no requirement that it be "well-
   formed" or be validated against the IANA Language Subtag Registry.

And of course RFC5646 obsoletes RFC4646 but doesn't change the relevant ABNF.

So the Accept-Language tag does not use the language-tag production, 
it uses the looser language-range definition).

The text in section 3.1.3.1 is confusing because it can be misread to imply
that Accept-Language uses the language-tag production.

Suggest:
>   HTTP uses language tags within the Accept-Language and Content-Language fields.
>   The Accept-Language field uses the looser language-range production defined in Section 5.2.5,
>   whereas the Content-Language field uses the stricter language-tag production defined below.
>
>     language-tag = <Language-Tag, defined in [RFC5646], Section 2.1>
 
-Dave
Received on Thursday, 28 March 2013 18:27:55 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 28 March 2013 18:28:01 UTC