301 Moved Permanently 【301リダイレクト】 301 redirect / HTTP 301
概要
301 Moved Permanently(301リダイレクト)とは、WebサーバからWebブラウザなどのクライアントへ送られるHTTPステータスコードの一つで、要求されたコンテンツが恒久的に移転したことを知らせるもの。HTTPリダイレクト(転送)機能の一つで、移転先のURLが告知される。WebサーバとWebブラウザなどのクライアントの間ではHTTP(Hypertext Transfer Protocol)という通信規約(プロトコル)でデータ伝送を行っている。クライアントからの要求(リクエスト)に対してサーバは応答(レスポンス)を返すが、その際に現在の状態を示すHTTPステータスコードを通知する。
ステータスコードの300番台はリダイレクト(転送)関連の用途に割り当てられており、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」などコンテンツが存在しない旨を表すエラーを返すのが一般的である。
(2023.1.20更新)