[3] [DFN[[CODE(MIME)@en[[[Content-Language:]]]]]] [[ヘッダー]]は、
対象となるデータの[[自然言語]]を表すものです。

* 仕様書

[REFS[
- [26] '''[CITE@en[RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content]] ([TIME[2014-06-07 01:55:45 +09:00]] 版) <https://tools.ietf.org/html/rfc7231#section-3.1.3.2>'''
- [1] [CITE@en[RFC 2295 - Transparent Content Negotiation in HTTP]] ([TIME[2014-08-31 19:36:42 +09:00]] 版) <http://tools.ietf.org/html/rfc2295#section-5.4>
- [46] [CITE@en[RFC 4918 - HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)]] ([TIME[2014-09-21 17:04:59 +09:00]] 版) <http://tools.ietf.org/html/rfc4918#section-15>
-- [44] '''[CITE@en[RFC 4918 - HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)]] ([TIME[2014-09-21 17:04:59 +09:00]] 版) <http://tools.ietf.org/html/rfc4918#section-15.3>'''
- [65] 
[CITE@en-US-x-hixie[HTML Standard]], [TIME[2024-04-29T07:34:22.000Z]], [TIME[2024-04-29T08:18:39.589Z]] <https://html.spec.whatwg.org/#attr-meta-http-equiv-content-language>

]REFS]

* 意味

[34] [[HTTP]] における [CODE(HTTP)@en[[[Content-Language:]]]] [[ヘッダー]]は、
[[表現]]の想定読者の[[自然言語]](群)を指定するものです。
これは必ずしも[[表現]]中で用いられている[[言語]]すべてのリストでなくても構いません。 [SRC[>>26]]

[42] [CODE(HTTP)@en[[[HEAD]]]] [[メソッド]]に対する[[応答]]の場合は、
[CODE(HTTP)@en[[[GET]]]] だったなら返される[[表現]]についての情報を表しています。

[35] この[[ヘッダー]]の主目的は、
[[利用者]]が自身の[[[RUBYB[好む]@en[preferred]]][preferred]]言語と[[表現]]の言語を比べて識別できるようにするものだ
[SRC[>>26]] と説明されています。

;; [63] 
それって具体的にどういうことなのでしょう?
知らない言語だったらその[[応答]]は捨てるとか?
あまりそのような処理方法はイメージできませんが...

[64] 
実際にはこの[[ヘッダー]]が利用されるとしたら、
表示、音声合成、その他の[[言語情報]]を使った処理への入力として、
が最も普通の用途と思われます。
[SEE[ [[言語情報]] ]]


[36] この[[ヘッダー]]が指定されていなければ、すべての[[言語]]の読者を対象にしていることを表します。
これは、[[送信者]]が特定の[[自然言語]]の読者を想定していない場合もあれば、
想定する[[言語]]をわかっていない場合もあります。 [SRC[>>26]]

;; [62] 
それを「すべての言語の読者を対象」と表現するのはちょっとおかしいのでは、
という気がしますが、 [[HTTP]] の仕様書には一応そのように説明されています。


[37] 複数の[[言語]]を指定して、複数の読者を対象にしていることを示すこともできます。
ただし、[[表現]]中に複数の[[言語]]が現れるからといって、複数の言語を対象にしているとは限りません。
[SRC[>>26]]

[EG[
[38] 例えば[[日本語]]で書かれた「英会話入門」には[[日本語]]と[[英語]]が現れますが、
想定読者は[[日本語]]が分かる人ですから、 [CODE(HTTP)@en[[[Content-Language:]] [[ja]]]]
が適当です。
]EG]


* 構文

[28] [[MIME]] でも [[HTTP]] [SRC[>>26]] でも、1つ以上の[[言語タグ]]を [CODE[[[,]]]]
で区切って並べたものとされています。

[29] [[MIME]] では[[字句]]間に [CODE(ABNF)@en[[[CFWS]]]] が挿入できます。

[30] [[HTTP]] では、[[リスト]] ([CODE[#]]) とされています [SRC[>>26]]。

[FIG(railroad)[
= [[言語タグ]]
= *
== [[OWS]]
== [CODE[[[,]]]]
== [[OWS]]
== [[言語タグ]]
]FIG]

[7] [[言語タグ]]は、 [[BCP 47]] で定義されています。数世代の [[RFC]]
があり、途中で非互換変更も行われています。どの版が参照されているかは、
[[MIME]] や [[HTTP]] の仕様書の版によっても異なっています。

;; [31] 詳しくは[[言語タグ]]の項を参照してください。

* 文脈

[39] [CODE(HTTP)@en[[[Content-Language:]]]] は、[[テキスト]]系に限らず、
どんな [[MIME型]]にも適用できます。 [SRC[>>26]]

;; [56] 言い換えると、 [CODE[Content-Type:]] との依存関係はありません。

** HTTP での利用

[58] 
[[HTTPヘッダー]]として利用できます。
[[HTTP要求]]にも[[HTTP応答]]にも指定できます。

;; [59] あくまで「内容」の[[言語]]を表すものです。 [[HTTP要求]]に指定したとて、
[[HTTP応答]]に関する指定として解釈されるものではありません。
[[HTTP応答]]に関する指定をしたいときは、 [CODE[Accept-Language:]]
に指定します。


[27] [[HTTP]] では、1つの[[HTTPメッセージ]]の[[ヘッダー部]]中に複数個 
[CODE(HTTP)@en[[[Content-Language:]]]]
[[ヘッダー]]を指定できます (>>30)。

[60] 
[[HTTP]]
では、使われることは皆無ではありませんが、それほど多くは見かけません。

[61] 
かつて [[Apache]] と[[内容折衝]]がよく使われていた頃 ([[平成時代]]中期頃)
は、[[ファイル名]]に[[言語]]を表す[[拡張子]]を付けておけば自動的に
[CODE[Content-Language:]] [[ヘッダー]]に設定される
(かつ [CODE[Accept-Language:]] を使った処理に適用される)
ようになっているために、たまに送出されていました。
[SEE[ [[内容折衝]] ]]


** MIME での利用

[57] 
[[MIMEヘッダー]]として利用できます。 [[インターネットメール]]を含む、
任意の[[MIME実体]]の[[ヘッダー]]に指定できます。

[55] 
[[インターネットメール]]では、
使われることは皆無ではありませんが、それほど多くは見かけません。
元々の [[RFC 822]] の[[ヘッダー]]でも、 [[MIME]] 
の初期からの[[ヘッダー]]でもないため、
この[[ヘッダー]]を出力するべきという慣習が生じなかったためと考えられます。

-*-*-

[103] 
[CODE[multipart/alternative]] では[[言語]]違いの[[選択][内容折衝]]に使うことができます。
[SEE[ [[multipart/alternative]] ]]


** HTML での利用

[66] 
[[HTML]]
では
[DFN[[CODE[<[[meta]] [[http-equiv]]=Content-Language>]]]]
として記述できます。

[67] 
これは[[不適合]]で、[[著者]]は使ってはならないとされています。
[SRC[>>65]]
しかし[[後方互換性]]のため [[Webブラウザー]]は実装しなければなりません。

[68] 
昔から例文などで (意味もよく理解しないまま[[コピペ]]で)
よく紹介されていたためもあってか、
しばしば見かけます (がそれほど多いというわけでもありません)。

[69] 
[[HTML5]] の開発当時、これを使った文書が[[不適合]]と判定されるのを快く思わない人がそれなりにいた
(程度にはまま使われていた) ために、
[[不適合]]であるものの[[適合性検査器]]はエラーとしなくていいという玉虫色の決着がなされました
[SRC[>>15]]。

;; [70] 今ならこの措置ももう不要でしょうね。


[FIG(quote)[
[FIGCAPTION[
[105] [CITE@english[Lightweight HTML renderer, layout manager and print engine]], [TIME[2024-08-17T08:10:31.000Z]], [TIME[2004-12-13T19:19:44.193Z]] <https://web.archive.org/web/20041213191849/http://www.terrainformatica.com/htmlayout.old/index.htm>
]FIGCAPTION]

>
[PRE(HTML code)[
    <meta http-equiv="content-language" content="english">
]PRE]
]FIG]



** 異体説明 [CODE(HTTP)@en[language]] 異体属性

[2] [[異体説明]]の [DFN[[CODE(HTTP)@en[[[language]]]]]] [[異体属性]]は、
[CODE(HTTP)@en[[[Content-Language:]]]] [[ヘッダー]]に相当するものです [SRC[>>1]]。


[43] 属性値は、1つ以上の[[言語タグ]]の[[リスト]] ([CODE(HTTP)[#]]) です [SRC[>>1]]。

[FIG(railroad)[
= [[言語タグ]]
= *
== [[OWS]]
== [CODE(HTTP)[[[,]]]]
== [[OWS]]
== [[言語タグ]]
]FIG]

** [CODE(URI)@en[DAV:getcontentlanguage]] 特性 (WebDAV)

[45] [DFN[[CODE(URI)@en[[[DAV:getcontentlanguage]]]]]] [[特性]]は、
[[accept header]] なしで [CODE(HTTP)@en[[[GET]]]] した時に返されるであろう
[CODE(HTTP)@en[[[Content-Language:]]]] [[ヘッダー]]の値を表します [SRC[>>44]]。

[52] [CODE(HTTP)@en[[[Content-Language:]]]] [[ヘッダー]]を返す [[WebDAV]]
に従う[[資源]]はすべて
[CODE(URI)@en[[[DAV:getcontentlangauge]]]] [[特性]]を定義しなければ[['''なりません''']] [SRC[>>44]]。

[47] 値は[[言語タグ]]です [SRC[>>44]]。

[FIG(railroad)[
= [[言語タグ]]
]FIG]

[48] [[ヘッダー]]の値が [[OWS]] を含む場合には、
これを除去して特性値として使う[['''べきです''']] [SRC[>>46]]。

[49] [[保護特性]]とする[['''べきではありません''']] [SRC[>>44]]。

;; [50] [[RFC 2518]] 時代の[[鯖]]は、[[保護特性]]としているかもしれません [SRC[>>44]]。

[51] [CODE(HTTP)@en[[[COPY]]]] や [CODE(HTTP)@en[[[MOVE]]]]
でも値が保持される[['''べきです''']] [SRC[>>44]]。

* 複数の値

[71] 
[CODE[Content-Language]]
には、
[[言語タグ]]を複数指定できます。
また、
[[HTTPヘッダー]]や [CODE[meta]] [[要素]]は複数指定されることがあります。
(>>37, >>28, >>30)

[72] 
[[HTTP]] では、仕様上、 [[HTTPヘッダー]]複数個で指定するのは、
[[HTTPヘッダー]]1個に [CH[,]] 区切りで順に並べて指定するのと等価とされています。
[SEE[ [[リスト (HTTP)]] ]]

[73] 
[[HTML]] では、複数の [CODE[meta]] [[要素]]で指定された場合、
最後のものが採用されます。
[SRC[>>65]]
これは実際の [[Webブラウザー]]がそう実装していたことによります [SRC[>>22]]。

[74] 
[[HTML]] では、1つの [CODE[meta]] [[要素]]に複数指定された場合、
その指定全体が無視されます。
[SRC[>>65]]

-*-*-

[75] 
[[HTML]] では、[[要素の言語]]の決定に際して、

= [76] [[要素]]の [CODE[lang=""]] や [CODE[xml:lang=""]]
= [77] [CODE[<meta http-equiv=Content-Language>]]
= [78] [[プロトコル]]の[[言語情報]]
= [85] 未知の言語 ([[言語]]の指定: [[空文字列]])

の優先順位で[[言語]]の指定が使われます。 [SRC[>>65]]

[79] 
[[プロトコル]]の[[言語情報]]は「such as HTTP」 [SRC[>>65]] としかありませんが、
具体的には

- [80] [[HTTP]] の [CODE[Content-Language:]]
- [81] [[MIME]] の [CODE[Content-Language:]]
- [82] [[ファイルシステム]]の[[言語情報]] (もしあれば)
- [102] 
[CODE[about:]] [WEAK[([CODE[about:blank]], [CODE[about:srcdoc]] を除く。)]],
[[ブラウザー拡張]],
その他[[Webブラウザー]]独自の [[URL scheme]]
などでは、
[[Webブラウザー]]依存の方法で指定した[[言語情報]] (もしあれば)

が該当することになるのでしょう。

;; [91] 
この辺は仕様書として敢えて明確に規定せずに任意の[[プロトコル]]に対応できるようにしていたのでしょうが、
当時としてはともかく、現在ならもっと明確な規定が必要な箇所ですね。
いずれ改定が望まれます。

;; [98] 
[[初期[CODE[about:blank]]]]では[[言語情報]]の規定がなく、
無指定と同等と思われます。

;; [99] 
[[[CODE[iframe]] [CODE[srcdoc]]文書]]は[[HTTP応答]]相当の規定があり、
[CODE[Content-Language:]] は含まれない形で定義されています。
つまり無指定と同等です。
([CODE[iframe]] [[要素の言語]]は影響しません。)

;; [101] 
[CODE[data:]],
[CODE[ftp:]]
には[[言語情報]]を指定する方法がなく、無指定とみなされます。




[83] 
[[プロトコル]]の[[言語情報]]が複数の[[言語]]の場合、未知の言語 
([[言語]]の指定: [[空文字列]])
とみなすことになっています。 [SRC[>>65]]

;; [84] [CODE[Content-Language:]] に指定した複数の[[言語タグ]]のうち先頭のものや最後のものが選ばれるのではなく、
すべて無視されることに注意。

[86] 
この [[HTML]] の規定は、 [[HTML文書]]だけでなく、 [[XML文書]]にも適用されます。
また、それ以外の[[ファイル形式]]でも[[Webブラウザー]]の[[閲覧文脈]]内で表示されるもの
([[平文文書]]、[[媒体文書]]など) に適用されます。

[EG[
[87] 
例えば、[[言語情報]]を内部に記述する方法のない [CODE[text/plain]]
のファイルでも、 [CODE[Content-Language:]] [[ヘッダー]]に
[CODE[lang=""]] [[属性]]相当の指定ができます。
]EG]

;; [92] [[XML]] の仕様書にも [CODE[xml:lang=""]] の規定として >>75
に近いものが定められていましたが、 [[HTML]] 関連の規定がないのが >>75
と違っています。現在では [[HTML]] の仕様書に従うべきです。

[88] 
この規定は、事実上 [CODE[Content-Language:]] 
に複数の[[言語タグ]]を指定しても役に立たないことを意味しています。

[90] 
複数の[[言語タグ]]が指定されたとき、それをどう処理に活用するべきか、
[[HTTP]] も [[MIME]] も明確にしていない以上、
この措置は致し方ないでしょう。
例えば[[言語タグ]]を使った[[フォントの選択]]で、
複数の[[言語タグ]]があっても解釈が混乱するだけです。
思い切ってすべて捨てるのは現実的な選択です。

[89] 
[[著者]]は [CODE[Content-Language:]] [[ヘッダー]]を高々1つ指定し、
指定する場合はちょうど1つだけ[[言語タグ]]を指定するのが望ましいでしょう。
[[適合性検査器]]はそうでなければ警告を出すべきです。

[104] 
[[HTML]] や [[XML]] を扱う以外の[[応用]] ([[HTTPクライアント]])
も、[[言語情報]]を使うものは
[CITE[HTML Standard]]
と整合する処理方法とするべきでしょう。


-*-*-

[93] 
[CODE[Content-Language:]] と [[encoded-word]] や[[引数][引数 (MIME)]]の[[言語情報]]との相互関係は明確な規定がないようですが、
両者は独立したものとするのが仕様策定側の意向と考えられます。

;; [95] [[ヘッダー]]は互いに独立というのが [[RFC 822メッセージ]]の伝統的な考え方です。

[94] 
ただ現実的には [[encoded-word]] や[[引数][引数 (MIME)]]の[[言語情報]]がない場合には
[CODE[Content-Language:]] にフォールバックする方がより適切な結果を得られるとも考えられます。

[96] 
[CODE[multipart/[VAR[*]]]]
や
[CODE[message/[VAR[*]]]]
によって[[メッセージ]]や[[実体]]が[[入れ子]]になっているとき、
[CODE[Content-Language:]]
の適用関係は定かではありません。

[97] 
[CODE[Link:]] などで[[ヘッダー]]内の[[人間可読]]な文字列が
[[Webブラウザー]]に表示されるときについても、
必ずしも仕様上[[言語情報]]の取り扱いが明確ではありません。

[100] 
[[フレーム]] ([CODE[iframe]], [CODE[frame]]) の内外関係は[[言語情報]]に関係しません。


* 歴史

[25] 元々 
[[RFC 1766]]
で定義されていました。

[54] 
[TIME[平成14(2002)年5月][2002-05]]末、
新しい 
[[RFC 3282]]
により再定義されました。

[8] [[HTTP]] も別途定義しています。

- [4] Content-Language = "Content-Language" ":" [CFWS] Language-List
- [5] Language-List = Language-Tag [CFWS] *("," [CFWS] Language-Tag [CFWS])
- [6] obs-content-language = "Content-Language" *WSP ":" [CFWS] Language-List
(RFC 1766 および RFC 3282 より作成)

** RFC 1766

[REFS[
- [18] [CITE@en[RFC 1766 - Tags for the Identification of Languages]]
<http://tools.ietf.org/html/rfc1766#section-3>
]REFS]

[21] [[RFC 2130]] はこの [CODE(MIME)@en[[[Content-Language]]]] と同様の形式による[[自然言語]]の指定を他の[[プロトコル]]でも
(必要なら) 使うことが好ましいと述べています。

[FIG[
[20] 
>  The specification technique should be a MIME identifier
with IANA  registered values for languages.  If headers are used, the
header should be 'Content-Language'.

[FIGCAPTION[
[CITE@en[RFC 2130 - The Report of the IAB Character Set Workshop held 29 February - 1 March, 1996]] ([TIME[2011-09-04 12:12:00 +09:00]] 版) <http://tools.ietf.org/html/rfc2130#page-12>
]FIGCAPTION]
]FIG]

** HTTP

[FIG[
[FIGCAPTION[
RFC 1945 (HTTP/1.0) D.2.5; (HTTP/1.1) RFC 2068 14.13; RFC 2616 14.12 Content-Language
]FIGCAPTION]

> The Content-Language entity-header field describes the natural
language(s) of the intended audience for the enclosed entity. Note
that this [DEL[[INS[{1945,2068}]] may]] [INS[[INS[{2616}]] might]] not be equivalent to all the languages used within the entity[INS[-body [INS[{2068,2616}]]]].

[CODE(HTTP)[Content-Language]] 実体頭欄は、
囲まれた実体の想定視聴者の自然言語を記述します。
これは [CODE(ABNF)[[[entity-body]]]] 中で使われている全ての言語と等しくないかもしれないことに注意して下さい。

[INS[

> [INS[{2068,2616}]]
- Content-Language  = "Content-Language" ":" 1#language-tag

> Language tags are defined in section 3.10. The primary purpose of
Content-Language is to allow a user to identify and differentiate
entities according to the user's own preferred language. Thus, if the
body content is intended only for a Danish-literate audience, the
appropriate field is

[[言語札]]は 3.10 節で定義しています。 [CODE(HTTP)[Content-Language]]
の主たる区的は、利用者が利用者自身の優先言語に従って実態を識別・差別化することを可能とすることにあります。
従って、本体内容がデンマーク語が分かる視聴者のみを想定しているのであれば、
適切な欄は

>
- Content-Language: da

> If no Content-Language is specified, the default is that the content
is intended for all language audiences. This [DEL[may]] [INS[might]] mean that the sender
does not consider it to be specific to any natural language, or that
the sender does not know for which language it is intended.

[CODE(HTTP)[Content-Language]] が指定されていなければ、既定値はその内容がすべての言語の視聴者を想定しているになります。
これは、送信者がそれが何らかの自然言語に特有のものであると考えていないか、
送信者がどの言語が想定されているのか知らないことを意味するでしょう。

> Multiple languages MAY be listed for content that is intended for
multiple audiences. For example, a rendition of the "Treaty of
Waitangi," presented simultaneously in the original Maori and English
versions, would call for

複数の視聴者を想定している内容については、複数の言語を列挙しても'''構いません'''。
例えば、 [SAMP[Treaty of Waitangi]] の翻訳で、
元のマオリ版と英語版が並行して示されているなら、

>
- Content-Language: mi, en

となるでしょう。

> However, just because multiple languages are present within an entity
does not mean that it is intended for multiple linguistic audiences.
An example would be a beginner's language primer, such as "A First
Lesson in Latin," which is clearly intended to be used by an
English-literate audience. In this case, the Content-Language [DEL[should]] [INS[would properly]]
only include "en".

しかし、ただ単に実体中に複数の言語が示されていることは複数の言語の視聴者を想定していることを意味しません。
例えば、初めての言語入門書, 例えば『A First Lesson in Latin』のような明らかに英語の分かる視聴者に使われることを意図したものを考えましょう。
この場合だと、 [CODE(HTTP)[Content-Language]] は [CODE(lang)[en]]
だけを含めるのが適当でしょう。

> Content-Language [DEL[may]] [INS[MAY]] be applied to any media type -- it is not
limited to textual documents.

[CODE(HTTP)[Content-Language]] はどの媒体型に適用しても'''かまいません'''。
文的文書には制限しません。
]INS]
]FIG]

** RFC 3282

[REFS[
- [19] [CITE@en[RFC 3282 - Content Language Headers]]
<http://tools.ietf.org/html/rfc3282>
]REFS]

[32] [[MIME]] 側の定義が独立する形で新しい版が発行されました。

[33] [[HTTP]] にも適用することをほのめかすような記述もありましたが不明瞭でした。
[[HTTP]] の改訂版である [[RFC 7231]] は、 [[RFC 3282]] を参照していないで独自に定義しています。

** [CODE(HTML)@en[<meta http-equiv=Content-Language>]]

[14]
よく、 [[HTML文書]]に [CODE(HTML deprecated example)@en[<[[meta]] [[http-equiv]]="[[Content-Language]]" [[content]]="[[ja]]">]]
のように[[言語]]を指定すれば[[文字化け]]しなくなるなどと適当な解説がされていますが、'''まったく意味がありません'''。

[CODE(HTMLa)@en[[[http-equiv]]]] は本来[[鯖]]が解釈するものでしたが、
そうするように設定されている[[鯖]]はほとんどありません。
[[Webブラウザ]]が解釈することもありますが、
保障されているわけではありませんでした。
''本当の'' [[HTTP]] [[頭欄]]としての [CODE(HTTP)@en[[[Content-Language]]:]] を指定するか、
[[HTML]] の[[要素]]に [CODE(HTMLa)@en[[[lang]]]]
を指定するのが適切なやり方です。

;; いずれにしても、[[文字コード]]とはまったく関係ありません。
[[文字化け]]がなくなるなどと解説している[[文書]]は信用してはいけません。

[15] [CITE@en[<meta http-equiv="Content-Language">]] ([[Ian Hickson]] 著, [TIME[2008-12-02 16:05:28 +09:00]] 版) <http://lists.w3.org/Archives/Public/public-html/2008Dec/0032.html>

[CODE(HTML)@en[<meta http-equiv=Content-Language>]] は不適合になりました。

[16] [CITE@en[(X)HTML5 Tracking]]
([TIME[2009-10-27 22:21:31 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=4336&to=4337>

[17] [CITE@en[Web Applications 1.0 r5980 8088]]
( ([TIME[2011-04-09 07:20:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=5979&to=5980>

* 関連

[40] [[文書]]に含まれる[[要素]]の[[言語]]の決定には [CODE(HTMLa)@en[[[lang]]]]
[[属性]]が使われますが、[[文書要素]]にも明示されていない場合、
[CODE(HTTP)@en[[[Content-Language:]]]] [[ヘッダー]]があれば、その値が採用されます。

* メモ

- [9] [WEAK[2002-11-16 (土) 19:06]] ''[[名無しさん]]'': 関連して[[内容折衝]]に使われる対応する欄として、 [[Accept-Language:欄]]があります。
- [10] [WEAK[2002-11-16 (土) 19:08]] ''[[名無しさん]]'': 言語情報は転送[[プロトコル]]層に使われるこの欄ではなく、より上の層で記述されることもあります。 (例えば [[HTML]] の [[lang属性]]や [[XML]] の [[xml:lang属性]], あるいは [[Unicode]] の[[14面言語タグ]], [[ファイル名]]の一部など。) どれを使うのが適切かは、その場面によるでしょう。
- [11] >>10 [[言語情報]]
- [12] この欄って使われてるのかなあ? MIME にしろ HTTP にしろ有意義に使われてるのって見たことなくない?
- [13] 欄自体は、 MIME ではたまにしか見ないけど、 HTTP では [[Apache]] とかで内容折衝に使う関係で、ちゃんと設定されてることも少なくないよね。情報提供側はまあまあいけてるけど、実際に応用側ではどうだろう。。。


[22] [CITE@en[Web Applications 1.0 r7283     Change Content-Language pragma to obeying the last pragma, not the first, as this is closer to what Firefox, IE9, and WebKit do.]]
( ([TIME[2012-08-28 04:32:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7282&to=7283>

[23] [CITE@en[Web Applications 1.0 r8389 Mention that the content-language pragma intentionally ignores words after the first (hopefully browsers end up matching this... they vary in their behaviour today)]]
( ([TIME[2014-01-10 04:19:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8388&to=8389>

[24] [CITE[IRC logs: freenode / #whatwg / 20140115]]
( ([TIME[2014-01-16 20:18:06 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20140115#l-249>

[41] [[文書]]中の [[JavaScript]] から [CODE(HTTP)@en[[[Content-Language:]]]]
[[ヘッダー]]にはアクセスできないので、 [CODE(HTTP)@en[[[Content-Language:]]]]
を使うより[[文書要素]]の [CODE(HTMLa)@en[[[lang]]]] [[属性]]に指定する方が好ましいと考える人もいます。

[53] [CITE@en[Strengthen requirements on CORS-safelisted request-headers]]
([[annevk]]著, [TIME[2018-05-25 18:19:35 +09:00]])
<https://github.com/whatwg/fetch/commit/9288c8f85c809a0ac371be6843ad2cf4046ee35b>