300 Multiple Choices は、対象のリソースにそれぞれ独自の URL を持つ複数の表現があり、ユーザーまたはユーザーエージェントにその中から選んでほしいことを示します。典型的な例は、言語やファイル形式が異なる同じドキュメントです。ボディには、選択肢をリンク付きで一覧表示する必要があります。
サーバーに推奨する選択肢がある場合は、その URL を Location ヘッダーで送るべきです。RFC 9110 はユーザーエージェントがそれを自動的にたどることを認めていますが、ブラウザーはたどりません。Fetch Standard が自動的にたどるのは 301、302、303、307、308 だけだからです。ユーザーには、代わりにレスポンスのボディが表示されます。
300 はヒューリスティックにキャッシュ可能です。自動的なネゴシエーションは当てにならないため、ほとんどのサイトは自分でバリアントを選び、それを直接配信するか、通常のリダイレクトを使っています。
レスポンス例
HTTP
HTTP/1.1 300 Multiple Choices
Date: Fri, 06 Nov 2026 10:15:32 GMT
Location: https://www.example.com/guide.en.html
Content-Type: text/html; charset=utf-8
Content-Length: 102
<ul>
<li><a href="/guide.en.html">English</a></li>
<li><a href="/guide.de.html">Deutsch</a></li>
</ul> SEO とリダイレクトチェック
よくある原因と主な用途
- Apache の
mod_spelingが、スペルミスのある URL に一致しうるファイルを複数見つけ、それらを一覧表示した場合。 - コンテンツネゴシエーションが 1 つを選ぶ代わりに、利用可能な言語や形式のバリアントを一覧表示した場合。
- API がドキュメントを複数の形式で提供し、クライアントに選ばせている場合。