Accept-Language
概要
Accept-Languageとは、HTTPヘッダのフィールド(項目)の一つで、クライアントからサーバに、コンテンツをどの言語(英語、日本語などの自然言語)で送って欲しいかを伝達するもの。言語コードと国・地域コードを記載する。HTTPはWebサーバとWebクライアント(Webブラウザなど)の間でデータの伝送を行なう通信規約(プロトコル)の一つで、通信の制御情報を前半部のHTTPヘッダに記述し、後半のHTTPボディが伝送内容の本体を表す。ヘッダは改行区切りのテキスト(文字)形式で「項目名: 値(改行)」という記法で設定を列挙する。
Accept-Languageはヘッダでクライアントからサーバに送信するHTTPリクエストに記載されるヘッダ項目の一つで、ボディ部に積載する文字データをどの言語で記述してほしいかを伝達することができる。サーバは同じコンテンツについて複数言語のバージョンが用意されている場合に、なるべくクライアントの要求に沿うものを選択して送信する(選択肢がない場合は単に無視される)。
言語の指定は、2~3文字の言語コードで行い、ハイフン(-)に続けて国・地域のコードを付け足してもよい。言語コードは日本語が「ja」、英語が「en」などとなっており、米国英語は「en-US」、英国英語は「en-GB」、スイスのドイツ語は「de-CH」、スイスのフランス語は「fr-CH」といったように指定する。
「ja,en,zh」(日本語、英語、中国語)のようにカンマ区切りで候補を複数指定したり、「ja,en-US;q=0.7,en;q=0.3」のように「q」を用いて優先順位を指定することもできる。「Accept-Language: *」を指定すると、任意の言語を受け付ける(どの言語でもよい)という意味になる。
(2023.1.20更新)