リダイレクト 【redirect】 リダイレクション / redirection
概要
リダイレクト(redirect)とは、「向け直す」という意味の英単語。IT分野では、プログラムの処理のするデータの入力元や出力先を変更することや、ネットワーク上で接続先を別の場所に自動的に変更することなどを表すことが多い。OSシェルのリダイレクション
オペレーティングシステム(OS)のシェルの機能の一つで、コマンドやプログラムを実行する際のデータの入力元や出力先を利用者の指定した先に切り替えることを「リダイレクト」あるいは「リダイレクション」という。
文字列によるデータの入出力を基本とする操作体系(CLI/CUI)では、標準の入力元(標準入力)がキーボード、標準の出力先(標準出力)がディスプレイに設定されていることが多いが、リダイレクトを利用することでプログラムの実行時にこれらを一時的に切り替えることができる。
例えば、キー入力に替えて指定した場所にあるテキストファイルを読み込んで入力としたり、出力されたデータを指定したファイルに書き込んで保存するといった操作を指示することができる。OSにリダイレクト機能があれば、こうした操作をプログラム自体の機能は変更せずに実現することができる。
コマンドの出力を次のコマンドの入力にして複数のコマンドを連結できる「パイプ」(pipe)機能と共に、特にLinuxなどのUNIX系OSの操作によく用いられる。これらの機能を用いると、単純な機能のコマンドやプログラムの入出力を繋ぎ合わせて連続的に実行することで、複雑な処理を実行することができる。
HTTPリダイレクト
Web上のデータ伝送に用いる「HTTP」(Hypertext Transport Protocol)におけるWebサーバからクライアントへの応答(レスポンス)の一種で、要求された資源の移転先など、別の所在情報を知らせるものを「HTTPリダイレクト」という。
Webブラウザはリダイレクト通知をWebサーバから受信すると、即座に移転先として提示されたURLに自動的にアクセスして資源を取得し、画面に表示しようと試みる。この自動的な転送処理のことを指してリダイレクトと呼ぶこともある。
HTTPステータスコードの300番台がリダイレクト関連の用途に割り当てられている。恒久的な移転であることを意味する「301」(Moved Permanently)や、一時的な移転であることを意味する「302」(HTTP 1.0では“Moved Temporarily”、HTTP 1.1では“Found”)がよく用いられる。