HTTPステータスコード300の仕様
300 Multiple Choicesステータスコードは、ターゲットリソースが複数の表現を持ち、それぞれがより具体的な識別子を持ち、ユーザ(またはユーザエージェント)がリクエストを1つ以上の識別子にリダイレクトすることによって好ましい表現を選択できるように、代替案に関する情報が提供されていることを示します。言い換えれば、サーバーはユーザーエージェントがそのニーズに対して最も適切な表現を選択するために、反応的なネゴシエーションを行うことを望んでいます(セクション12)。
サーバーが好ましい選択肢を持つ場合、サーバーは好ましい選択肢のURI参照を含むLocationヘッダーフィールドを生成するべきです(SHOULD)。ユーザーエージェントは、自動リダイレクトのためにLocationフィールドの値を使用してもよい(MAY)。
HEAD以外のリクエストメソッドの場合、サーバーは300 Multiple Choicesレスポンスに表現メタデータとURI参照のリストを含むコンテンツを生成し、そこからユーザーまたはユーザーエージェントが最も好ましいものを選択できるようにすべきです(SHOULD)。ユーザーエージェントは、提供されたメディアタイプを理解していれば、そのリストから自動的に選択してもよい(MAY)。自動選択のための特定のフォーマットは,HTTPがその内容の定義に直交したままであろうとするため,この仕様では定義されていない。実際には,表現は,共有設計又は内容交渉によって決定された,利用者エージェントが許容できると考えられる,容易に解析される形式,又は一般に受け入れられるハイパーテキスト形式において提供される。すなわち,メソッド定義又は明示的なキャッシュ制御([CACHING]のセクション4.2.2を参照)によって別途示されない限り,300 Multiple Choices応答は発見的にキャッシュ可能である。
注:300 Multiple Choicesステータスコードの最初の提案は、200、300 Multiple Choices、および406レスポンスで使用可能で、HEADメソッドへのレスポンスで転送されるように、URIヘッダーフィールドを代替表現のリストを提供すると定義しました。しかし、展開の欠如と構文に関する意見の相違から、URIとAlternates(後続の提案) の両方がこの仕様から削除された。Linkヘッダーフィールド値[RFC8288]として、そのメンバーが "alternate "の関係を持っているリストを伝えることは可能ですが、展開が鶏と卵の問題です
。出典・引用元はこちら 300 Multiple Choices HTTP Status Code は、15.4.1 のセクションで規定されています。
HTTPプロトコル
PHPで300ステータスコードを投げるには?
WebページでHTTPステータスコード300を投げるには、PHPの関数http_response_codeを使用することができます。構文は次のとおりです: http_response_code(300) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
300 HTTPステータスコードのテスト
クライアント側でHTTPステータスコード(ここでは300 Multiple Choices)などを表示できるようにするためには、F12で開発コンソールを開く必要があります。次に、「ネットワーク」タブに移動します。これでページを開くことができ、ネットワークタブにウェブサイト(例のindex.php)が表示されるはずです。これを選択し、次にHerderセクションを選択する必要があります。すると、ユーザーは次のような結果を見ることができます:
URL: https://http-statuscode.com/errorCodeExample.php?code=300
ステータス: 300 Multiple Choices
それらの: Network
IPアドレス: XX.XX.XX.XX
300ステータスコードのブラウザ互換性
Chrome | no data |
Edge | no data |
Firefox | no data |
Opera | no data |
Safari | no data |
Chrome Android | no data |
Firefox for Android | no data |
Opera Android | no data |
Safari on iOS | no data |
Internet | no data |
WebView Android | no data |
プログラミング言語における定数
HttpStatusCode.MultipleChoices
http.StatusMultipleChoices
Response::HTTP_MULTIPLE_CHOICES
:multiple_choices