Content Language Headers
obsoletes
- rfc-1766 — Tags for the Identification of Languages
Extracted elements (10)
The 'differences' parameter to multipart/alternative that was defined in RFC 1766 has been removed from this specification because no implementations of that function were ever found.
If no Q values are present in Accept-Language, language-ranges are treated as ordered by priority with the leftmost being most preferred. This is an extension to HTTP/1.1 rules but matches existing practice. When Q values are present, HTTP/1.1 (RFC 2616) evaluation rules apply.
Language tag syntax and semantics (language-range, language-tag values) are defined externally in BCP 47 / RFC 3066 and ISO 639; this document only specifies the header syntax for carrying those tags in RFC 822-style headers.
Conforming implementations MUST accept the obs-accept-language syntax but MUST NOT generate it; all generated Accept-Language headers MUST conform to the strict Accept-Language ABNF.
Conforming implementations MUST accept the obs-content-language syntax (which permits optional whitespace before the colon) but MUST NOT generate it; all generated Content-Language headers MUST conform to the strict Content-Language ABNF.
The Accept-Language header expresses a user's or process's preferred language(s) for RFC 822-like content. It lists one or more language-ranges, each optionally qualified with a quality value Q as defined in HTTP/1.1.
The Content-Language header indicates the language(s) of RFC 822-like content such as MIME body parts or Web documents. It carries one or more language tags as defined in BCP 47 (RFC 3066), separated by commas.
Language ranges used in content negotiation may allow a recipient to infer the sender's nationality, creating a potential surveillance target. The exact threat magnitude and countermeasures are delegated to each application protocol.
Accept-Language ABNF: `Accept-Language = "Accept-Language:" [CFWS] language-q *(",[CFWS] language-q)` where `language-q = language-range [";" [CFWS] "q=" qvalue] [CFWS]` and qvalue is a decimal in [0,1] with up to three fractional digits.
Content-Language ABNF: `Content-Language = "Content-Language" ":" [CFWS] Language-List` where `Language-List = Language-Tag [CFWS] *(",[CFWS] Language-Tag [CFWS])`. Multiple language tags are comma-separated; CFWS permits whitespace and parenthesized comments.