読み方:さんまるななテンポラリリダイレクト

307 Temporary Redirect 【307リダイレクト】

概要

307 Temporary Redirect(307リダイレクト)とは、WebサーバがWebブラウザなどのクライアントに送られる通知の一つで、要求されたコンテンツが一時的に移転したことを知らせるもの。HTTPリダイレクト(転送)機能の一つで、移転先のURLが告知される。

HTTPステータスコードとは

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

ステータスコードは3桁の番号と簡易なメッセージで表される。番号の最上位桁は分類、下2桁は識別番号である。100番台は「情報」(Informational)、200番台は「成功」(Success)、300番台は「転送」(Redirection)、400番台は「クライアントエラー」(Client Error)、500番台は「サーバエラー」(Server Error)を表している。

307 Temporary Redirectとは

307番は転送通知の一つで、メッセージは “Temporary Redirect”、すなわち「一時的な転送」を表す。クライアントが要求したコンテンツが他の場所に移転したことを意味し、Locationヘッダで移転先のURLを伝える。

コンテンツが何らかの事情で一時的に別の場所にあることを表し、サーバのメンテナンスやページ上の不具合などで一時的に他のページやサイトを利用してほしい場合などに用いられる。307 Temporary Redirectを受信したクライアントは、自動的に移転先のURLへアクセスする。このような自動的な転送処理を「307リダイレクト」という。

302 Found」も意味的には同じ内容を表す移転告知だが、GETメソッド以外でアクセスした際に移転先にGETでアクセスするよう変更される可能性がある。307では同じメソッドでリダイレクトされることが保証されており、POSTメソッドなどGET以外でアクセスする場合に選択される。

(2025.8.20更新)

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」として定義されていた。