Accept-Language Inspect
入力値の整形・変換・判定をブラウザ内で実行します。入力はサーバーへ送信しません。形式差分の一次切り分けに使えます。
状態
ブラウザ内で処理します。入力はサーバーへ送信しません。まずはここで一次切り分けしてください。
使い方
Accept-Language か Request Headers を貼り付けて「解析」。言語タグと優先度(q)を整理します。
注意(このツール)
- Accept-Language: のヘッダー行でも解析できます(複数行の貼り付けもOK)。
- q=0 は「受け付けない」の意味です。
このページについて
何をするツール?
Accept-Language を分解して、言語タグ(ja/en/zh-Hans など)と優先度(q)を一覧化します。
多言語サイトで「どの言語が選ばれたか」を切り分けるのに向きます。
基本(Accept-Language の役割)
- Accept-Language は「ユーザーが好む言語」の優先順位です。
- サーバーはこの情報を参考に返す言語を決めます(最終決定はサーバー側)。
- 言語で内容が変わるなら Vary: Accept-Language が必要です。
q 値(優先度)の読み方
- q=1.0 が最優先、q が小さいほど優先度が低い。
- q=0 は「受け付けない」を意味します。
- 明示されない場合は q=1.0 とみなされることが多い。
言語タグの読み方
- ja: 日本語
- en-US: 英語(米国)
- zh-Hans: 中国語(簡体字)
- *: その他の言語
入力の例
- Accept-Language: ja,en-US;q=0.9,en;q=0.8
- Accept-Language: en, *;q=0.5
- Request Headers をまるごと貼り付け
キャッシュと Vary: Accept-Language
言語ごとに内容が変わる場合、キャッシュ混在を防ぐため Vary: Accept-Language が重要です。
- Vary を増やしすぎるとキャッシュが割れやすくなる点に注意
- 言語はURLで分ける方が安定するケースもある
よくある落とし穴
- Accept-Language を信じすぎて誤判定(ブラウザ設定と実態が違う)
- Vary が無く、CDNで別言語が混在
- 言語判定とURL構成がずれてSEOが弱くなる
切り分け手順(おすすめ)
- Request Headers Parser で Accept-Language を確認
- このツールで言語タグと優先度を整理
- Vary Inspect で Vary: Accept-Language の有無を確認
関連ツール
- Vary Inspect
- Request Headers Parser
- Response Headers Parser
- Content-Language Inspect(予定)
このツールでできること
- Accept-Language の分解と優先度(q)の整理
- 言語タグの一覧化
- 関連ヘッダー確認ポイントの提示
注意(運用)
- 同じ文字列でも文脈により解釈規則が異なります。利用先仕様を優先してください。
- 入力元での自動変換(空白、改行、URLデコード)に注意してください。
参照仕様
- RFC 9110(HTTP Semantics)
- RFC 9111(HTTP Caching)
- RFC 5646(Language Tags)
- MDN: Accept-Language
FAQ
Accept-Language は必ず送られる?
多くのブラウザは送りますが、プライバシー設定や環境によって省略されることもあります。
Vary: Accept-Language は必須?
同じURLで言語が変わるなら基本的に必要です。URLで分ける設計なら不要な場合もあります。
q 値が無いときは?
通常は q=1.0 とみなされます。
参考リンク
次に見る(診断順)
site_map ルールに基づいて、次に確認すべきページを表示しています。
- Content-Language Inspect — Content-Language を解析して配信言語を確認
- Accept Header Builder — Accept系ヘッダーを用途別に組み立て
- Accept-Charset Inspect — Accept-Charset を解析して文字コード要求を確認
同テーマの導線
言語/ロケール
Accept系とContent-Languageを照合してネゴシエーション不整合を確認
- Accept Header Builder — Accept系ヘッダーを用途別に組み立て
- Content-Language Inspect — Content-Language を解析して配信言語を確認
- Accept-Charset Inspect — Accept-Charset を解析して文字コード要求を確認