HTTP情報について
Accept-Languageとは
希望言語と優先順位をサーバーへ伝えるHeaderを解説します。
更新日: 2026年10月9日
Accept-Languageは、クライアントが希望する言語と優先順位をサーバーへ伝えるHTTPヘッダーです。
何が分かるのか
jaやen-USなどの言語タグと、q値による優先度が並びます。これは表示言語の希望であり、利用者の国籍や現在地を表す情報ではありません。
NetKarteでの見方
HTTP情報カードの「クライアントヘッダー」でAccept-Language行を確認します。入力は不要です。ブラウザーが公開する言語設定と比べる場合は、ブラウザーカードの「言語」「言語一覧」も読みます。表示言語は明示された言語付きURLを優先し、言語なしURLに限り、保存した言語Cookie、Accept-Language、英語の順で選択します。
注意点
ブラウザーやOSの設定、プライバシー機能によって値は省略・単純化されることがあります。ブラウザーAPIの言語一覧と完全に一致するとは限りません。
言語タグと優先度の例
説明用の ja, en-US;q=0.8, en;q=0.6 は、日本語を優先し、米国英語、英語も候補とする指定です。qの省略は1を意味します。同じ重みの項目が並んだとき、その並び順だけに依存する設計は避けます。
日本語設定なのに英語ページになるとき
NetKarteでは、まずURLを確認してください。/en のように言語が明示されていれば、その指定を維持します。言語なしURLの場合に限り、保存した言語Cookie、Accept-Language、英語の順で選択します。
そのため、ブラウザーの言語設定を変えても、既存の /en が自動的に /ja へ変わるわけではありません。サイト右上の言語選択を使ってください。その操作はサイトの表示言語を変えるもので、ブラウザーが送るAccept-Languageを書き換えるものではありません。
参考資料
- IETF / RFC Editor: RFC 9110: HTTP Semantics (外部サイト)確認日: 2026-10-09
- WHATWG: HTML Living Standard: Navigator and system state (外部サイト)確認日: 2026-10-09
- MDN Web Docs: Accept-Language header (外部サイト)確認日: 2026-10-09