##
11.5.4 HTTPRedirectHandler オブジェクト

注意: HTTP リダイレクトによっては、このモジュールのクライアントコード 側での処理を必要とします。その場合、 `HTTPError` が送出されます。 様々なリダイレクトコードの厳密な意味に関する詳細は RFC 2616 を 参照してください。

`redirect_request`( | req, fp, code, msg, hdrs)

  リダイレクトの通知に応じて、 `Request` または `None` を返します。このメソッドは `http_error_30*()` メソッドに おいて、リダイレクトの通知をサーバから受信した際に、 デフォルトの実装として呼び出されます。 リダイレクトを起こす場合、新たな `Request` を生成して、 `http_error_30*()` がリダイレクトを実行できるようにします。 そうでない場合、他の `Handler` のいずれにもこの URL を 処理させたくなければ `HTTPError` を送出し、 リダイレクト処理を行うことはできないが他の `Handler` なら可能かもしれない場合には `None` を返します。

  注意: このメソッドのデフォルトの実装は、RFC 2616 に厳密に従ったものでは ありません。 RFC 2616 では、`POST` リクエストに対する 301 および 302 応答が、 ユーザの承認なく自動的にリダイレクトされてはならないと述べています。 現実には、ブラウザは POST を `GET` に変更することで、これらの 応答に対して自動的にリダイレクトを行えるようにしています。 デフォルトの実装でも、この挙動を再現しています。

`http_error_301`( | req, fp, code, msg, hdrs)

  `Location:` URL にリダイレクトします。このメソッドは HTTP における `moved permanently' レスポンスを取得した際に 親オブジェクトとなる `OpenerDirector` によって呼び出されます。

`http_error_302`( | req, fp, code, msg, hdrs)

  `http_error_301()` と同じですが、`found' レスポンスに対して 呼び出されます。

`http_error_303`( | req, fp, code, msg, hdrs)

  `http_error_301()` と同じですが、`see other' レスポンスに対して 呼び出されます。

`http_error_307`( | req, fp, code, msg, hdrs)

  `http_error_301()` と同じですが、`temporary redirect' レスポンスに対して呼び出されます。