HTTP 301
と308
ステータスコードの違いは何ですか?
301
(永続的に移動):このリクエストおよび今後のすべてのリクエストは、指定されたURIに送信する必要があります。
308
(永続的なリダイレクト):リクエストと今後のすべてのリクエストは、別のURIを使用して繰り返す必要があります。
それらは似ているようです。
301
、302
、および307
の概要HTTP/1.1プロトコルのセマンティクスとコンテンツの現在のリファレンスである RFC 7231 は、 301
(永続的に移動)および 302
(見つかった)ステータスコード。リクエストメソッドをPOST
からGET
に変更できます。この仕様では、リクエストメソッドをPOST
からGET
に変更できない 307
(一時リダイレクト)ステータスコードも定義しています。
以下の詳細を参照してください。
301
(永続的に移動)ステータスコードは、ターゲットリソースに新しい永続URIが割り当てられており、このリソースへの今後の参照には、囲まれたURIのいずれかを使用する必要があることを示します。 [...]注:歴史的な理由により、ユーザーエージェントは、後続のリクエストのリクエストメソッドを
POST
からGET
に変更する場合があります。この動作が望ましくない場合は、代わりに307
(一時リダイレクト)ステータスコードを使用できます。
302
(見つかった)ステータスコードは、ターゲットリソースが一時的に別のURIにあることを示します。リダイレクトはときどき変更される可能性があるため、クライアントは今後のリクエストに有効なリクエストURIを引き続き使用する必要があります。 [...]注:歴史的な理由により、ユーザーエージェントは、後続のリクエストのリクエストメソッドを
POST
からGET
に変更する場合があります。この動作が望ましくない場合は、代わりに307
(一時リダイレクト)ステータスコードを使用できます。
307
(一時リダイレクト)ステータスコードは、ターゲットリソースが別のURIの下に一時的に存在し、ユーザーエージェントがそのURIへの自動リダイレクトを実行する場合、リクエストメソッドを変更してはならないことを示します。リダイレクトは時間とともに変化する可能性があるため、クライアントは今後のリクエストに対して元の有効なリクエストURIを引き続き使用する必要があります。 [...]注:このステータスコードは
302
(見つかった)に似ていますが、要求メソッドをPOST
からGET
に変更できない点が異なります。この仕様では、301
(永続的に移動)に相当するものは定義していません(ただし、 RFC 7238 。ただし、この目的でステータスコード308
(永続リダイレクト)を定義しています)。
308
の必要性RFC 7238 は、 308
(Permanent Redirect)ステータスコードを定義するために作成されました。これは 301
(永続的に移動)ただし、要求メソッドをPOST
からGET
に変更することはできません。
308
ステータスコードは、 RFC 7538 ( RFC 7238 を廃止)によって定義されるようになりました。
308
(パーマネントリダイレクト)ステータスコードは、ターゲットリソースに新しいパーマネントURIが割り当てられ、このリソースへの今後の参照では、囲まれたURIのいずれかを使用する必要があることを示します。リンク編集機能を備えたクライアントは、有効なリクエストURIへの参照を、サーバーから送信された1つ以上の新しい参照に可能な限り自動的に再リンクする必要があります。 [...]注:このステータスコードは
301
(永続的に移動)に似ていますが、リクエストメソッドをPOST
からGET
に変更できない点が異なります。
Seには次のものがあります。
+-----------+-----------+
| Permanent | Temporary |
+------------------------------------------------------------+-----------+-----------+
| Allows changing the request method from POST to GET | 301 | 302 |
+------------------------------------------------------------+-----------+-----------+
| Doesn't allow changing the request method from POST to GET | 308 | 307 |
+------------------------------------------------------------+-----------+-----------+
Michael Kropat は、各状況に最適なステータスコードを決定するのに役立つ 一連の決定チャート をまとめます。 2xx
および3xx
ステータスコードについては、以下を参照してください。