読み方 : さんまるいちムーブドパーマネントリー

301 Moved Permanently 【301リダイレクト】 301 redirect / HTTP 301

概要

301 Moved Permanently(301リダイレクト)とは、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)を表している。

301 Moved Permanentlyとは

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

コンテンツが新しい場所へ移転したことを表し、Webページやリソースファイルなどのサイト内での配置換え、Webサイトの新しいドメインへの移転などの際に用いられる。301 Moved Permanentlyを受信したクライアントは、自動的に移転先のURLへアクセスする。このような自動的な転送処理を「301リダイレクト」という。

一方、何らかの事情で移転が一時的なものである場合には、「302 Found」(HTTP 1.0ではMoved Temporarily)、「303 See Other」「307 Temporary Redirect」などが用いられる。これらを受信した場合も、クライアントは新しいURLへ自動的にアクセスを転送する。

なお、サーバ管理者が転送の設定をしておらず、コンテンツは撤去されたがサーバが移転先を知らない場合は、「404 Not Found」や「410 Gone」など、コンテンツが存在しない旨を表すエラーコードを返すのが一般的である。

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

他の用語辞典による「301 Moved Permanently」の解説 (外部サイト)