300 Multiple Choices 【HTTP 300】

概要

300 Multiple Choices(HTTP 300)とは、WebサーバからWebブラウザなどのクライアントへ送られるHTTPステータスコードの一つで、要求された資源に複数の選択肢があることを伝えるもの。

WebサーバとWebブラウザなどのクライアントの間ではHTTPHypertext Transfer Protocol)という通信規約(プロトコル)でデータ伝送を行っている。クライアントからの要求(リクエスト)に対してサーバは応答(レスポンス)を返すが、その際に現在の状態を示すHTTPステータスコードを通知する。

ステータスコードの300番台は「リダイレクト」(転送)関連の用途に割り当てられており、300番は「Multiple Choices」、すなわち、クライアントが要求した資源に複数の選択肢があり、どれを送信するか選択してほしいことを示している。

例えば、再生を指示した動画に複数の異なる形式や画質のデータが存在する場合や、同じページに複数の異なる言語で書かれたバージョンが存在する場合、移転したコンテンツが古いURLと新しいURLの両方で利用可能な場合などに用いられる。利用者が一つを選択してサーバに伝達する手順については標準化されていないため、あまり利用されていない。

(2024.8.23更新)

HTTPステータスコード一覧

*1 302はHTTP/1.0では「Moved Temporarily」だった。
*2 413はHTTP/1.1では「Request Entity Too Long」、RFC 7231では「Payload Too Long」だった。
*3 414はHTTP/1.1では「Request-URI Too Long」だった。
*4 416はHTTP/1.1では「Requested Range Not Satisfiable」だった。
*5 418は1998年エイプリルフールのジョークRFC 2324で「I'm a teapot」として定義されていた。