- 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>
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