意味
リソースに複数の表現(言語や形式)があり、クライアントまたはユーザーが選ぶ必要があります。サーバーは Location で推奨を示すことがあります。
よくある原因
- コンテンツネゴシエーションがバリアントを選べなかった
- サーバーが代替の形式や言語を一覧した
対処法
クライアント・閲覧者の場合
Location があればそれに従い、なければ一覧のリンクから選びます。ブラウザーは自動では選びません。
サイトや API の運営者の場合
サーバー駆動のネゴシエーション(Accept、Accept-Language)を優先し、最適なものを 200 で返します。300 が最良のユーザー体験になることはまれです。
レスポンス例
HTTP/1.1
HTTP/1.1 300 Multiple Choices
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Link: </doc.en.html>; rel=alternate; hreflang=en
Link: </doc.de.html>; rel=alternate; hreflang=de
Content-Length: 0 仕様
よくある質問
› ブラウザーは 300 に自動で従いますか?
Location ヘッダーがあれば従うブラウザーもあります。なければユーザーには選択肢のあるページが表示されます。
› 多言語サイトに 300 は適していますか?
通常は適していません。302 でリダイレクトするか、hreflang リンク付きで適切な言語を返します。