HTTP 302
表示
HTTP |
---|
主要項目 |
リクエストメソッド |
ヘッダーフィールド |
ステータスコード |
認証方式 |
セキュリティホール |
HTTPレスポンスステータスコード302Foundは、 URLリダイレクトを実行する一般的な方法。 HTTP/1.0 仕様 (RFC 1945) は当初このコードを定義し、「Found」ではなく「Moved Temporarily」という説明文を与えていた。
このステータスコードを含むHTTP応答は、ヘッダーフィールドロケーションにURLを追加で提供する。これは、ユーザーエージェント(例えばWebブラウザ)に対して、ロケーションフィールドで指定された新しいURLへの2回目のリクエストを行うように招待するものである。最終的には、新しいURLへのリダイレクトが行われる。
多くのWebブラウザーは本来POST_(HTTP)であるべきリクエストのタイプをGETに変更するなどの標準に違反する方法で実装した[1]。このため、HTTP / 1.1( RFC 2616)は新しいステータスコード303と307を追加することによって2つの動作を明確にし、303は要求タイプの変更をGETに義務付け、307は最初に送信されたままの要求タイプを保持するようにしている。この曖昧性の解消によって明確化されたにもかかわらず、HTTP/1.1 仕様を実装していないブラウザとの互換性を維持するために302フレームワークは302は依然ウェブフレームワークで採用されている[2]。
例
[編集]クライアントのリクエスト:
GET /index.html HTTP/1.1
Host: www.example.com
サーバーの応答:
HTTP/1.1 302 Found
Location: http://www.iana.org/domains/example/
関連項目
[編集]参考文献
[編集]- ^ Lawrence. “HTTP Methods and Redirect Status Codes”. EricLaw's IEInternals blog. 2011年8月20日閲覧。
- ^ “Request and response objects | Django documentation | Django”. Docs.djangoproject.com. 2014年6月23日閲覧。