「HTTPステータスコード」の版間の差分

提供: セキュリティ
移動: 案内検索
(ページの作成:「<!-- vim: filetype=mediawiki --> [[{{PAGENAME}}]] とは、HTTPにおいてWebサーバーからのレスポンス([[HTTPレスポ...」)
 
 
(同じ利用者による、間の4版が非表示)
行1: 行1:
<!--
+
[[HTTPステータスコード]] とは、[[Hypertext Transfer Protocol|HTTP]]において[[Webサーバー]]からのレスポンス([[HTTPレスポンス]])に含まれる3桁の数字からなるコードのことです。
vim: filetype=mediawiki
+
-->
+
[[{{PAGENAME}}]] とは、[[Hypertext Transfer Protocol|HTTP]]において[[Webサーバー]]からのレスポンス([[HTTPレスポンス]])に含まれる3桁の数字からなるコードのことです。
+
  
読み方
+
'''読み方'''
;[[{{PAGENAME}}]]: えいちてぃーてぃーぴー すてーたす こーど
+
;[[HTTPステータスコード]]: えいちてぃーてぃーぴー すてーたす こーど
 
__TOC__
 
__TOC__
  
 
== 概要 ==
 
== 概要 ==
 
+
[[HTTPステータスコード]] とは、[[Hypertext Transfer Protocol|HTTP]]において[[Webサーバー]]からのレスポンス([[HTTPレスポンス]])に含まれる3桁の数字からなるコードのことです。
[[{{PAGENAME}}]] とは、[[Hypertext Transfer Protocol|HTTP]]において[[Webサーバー]]からのレスポンス([[HTTPレスポンス]])に含まれる3桁の数字からなるコードのことです。
+
[[HTTPステータスコード]] は、 HTTPリクエスト の成功や失敗やドキュメントの移動などを意味します。
[[{PAGENAME}}]] は、 [[HTTPリクエスト]] の成功や失敗やドキュメントの移動などを意味します。
+
  
 
下記は、www.yahoo.com へのリクエストの例です。
 
下記は、www.yahoo.com へのリクエストの例です。
行60: 行56:
  
 
== 1xx 情報 ==
 
== 1xx 情報 ==
 +
* HTTP/1.0 は、 1xx ステータスコードを定義していません。
 +
=== 100 Continue ===
 +
クライアントは、その要求を継続してもよい。
 +
=== 101 Switching Protocols ===
 +
プロトコルの切り替えです。
 +
Upgrade ヘッダフィールドが定義するプロトコルに変更します。
 
== 2xx 成功 ==
 
== 2xx 成功 ==
 +
クライアントの要求が成功したときにこのステータスコードを返します。
 +
=== 200 OK ===
 +
リクエストが成功し、レスポンスと一緒に返されます。
 +
=== 201 Created ===
 +
リクエストが成功し、新しいリソースが作成されたことを意味します。
 +
Location ヘッダーフィールドに新しく作成された URI を返します。
 +
オリジンサーバは、201ステータスコードを返す前に、リソースが作成されていなければなりません。もし、ただちにリソースを作成できない場合は、 202 Accepted レスポンスをサーバは返します。
 +
=== 202 Accpted ===
 +
リクエストは、処理することを受け付けたことを意味します。
 +
ただし、処理は、まだ、完了していません。
 +
この非同期の操作は、その結果のステータスコードを再送する機能はありません。。
 +
=== 203 Non-Authoritative Information ===
 +
ローカルやプロキシ等からの情報であることを締めあします。
 +
=== 204 No Content ===
 +
返すべき、レスポンスエンティティが存在しない場合に返されます。
 +
 +
POST メソッドでフォームの内容を送信したが、ブラウザの画面を更新しない場合に返されます。
 +
=== 205 Reset Content ===
 +
サーバは、リクエストを処理し、ユーザエージェントは、ドキュメントビューをリセットしなければなりません。フォームをクリアする必要があります。このレスポンスは、エンティティを含みません。
 +
=== 206 Partial Content ===
 +
サーバは、部分的な GET リクエストを完了したことを意味します。
 +
このリクエストは、 Range ヘッダーフィールド を含んでいないといけません。
 +
レスポンスには、 Content-Range ヘッダーフィールドか、 mulripart/byteranges Content-Type のそれぞれに Content-Range フィールドが必要です。
 +
 +
multipart/byteranges を使わないなら、レスポンスの Content-Length ヘッダーフィールドは、メッセージボディの転送したオクテットの実際の数値が一致していないとなりません。
 +
=== 207 Multi-Status ===
 +
WebDAV の拡張ステータスコードです。
 +
=== 226 IM Used ===
 +
Delta encoding in HTTP の拡張ステータスコードです。
 
== 3xx リダイレクション ==
 
== 3xx リダイレクション ==
 +
リソースの場所にリダイレクトするために使われます。
 +
=== 301 Moved Permanently ===
 +
リソースが恒久的な移動を意味します。
 +
=== 302 Found ===
 +
そのリソースが保存されている現時点のURLをLocationで示しています。
 +
=== 304 Not Modified ===
 +
クライアントがGETリクエストを送信したときに、リソースが更新されていなければ、このステータスコードが返ります。304の場合、レスポンスボディは返しません。
 +
=== 307 Temporary Redirect ===
 +
一時的なリダイレクトです。
 +
POSTからGETへの変更を許可しません。
 +
=== 308 Permanent Redirect ===
 +
永久的なリダイレクトです。
 +
POSTからGETへの変更を許可しません。
 
== 4xx クライアントエラー ==
 
== 4xx クライアントエラー ==
 +
クライアントからのリクエストに誤りがあったことを意味します。
 +
=== 400 Bad Request ===
 +
リクエストの構文が間違っているときのエラーです。
 +
たとえば、リクエストヘッダにHostヘッダがない場合に、このレスポンスが返ります。
 +
=== 401 Unauthorized ===
 +
認証が必要なときのエラーです。
 +
=== 402 Payment Required ===
 +
有料ページへのアクセスを想定したエラーです。
 +
=== 403 Forbidden ===
 +
サーバーによって禁止されているメソッドを実行しようとしたときのエラーです。
 +
=== 404 Not Found ===
 +
サーバーがリソースがないときに返すエラーです。
 +
=== 405 Method Not Allowed ===
 +
Request URI にあるリソースは、要求されたメソッドを許可していません。
 
== 5xx サーバエラー ==
 
== 5xx サーバエラー ==
 
+
サーバがリクエストの処理に失敗したことを意味します。
 
== 関連項目 ==
 
== 関連項目 ==
 
+
{{http}}
* [[Hypertext Transfer Protocol]]
+
<!-- vim: filetype=mediawiki
* [[HTTPレスポンス]]
+
-->
* [[HTTPレスポンスヘッダー]]
+

2015年9月23日 (水) 17:41時点における最新版

HTTPステータスコード とは、HTTPにおいてWebサーバーからのレスポンス(HTTPレスポンス)に含まれる3桁の数字からなるコードのことです。

読み方

HTTPステータスコード
えいちてぃーてぃーぴー すてーたす こーど

概要

HTTPステータスコード とは、HTTPにおいてWebサーバーからのレスポンス(HTTPレスポンス)に含まれる3桁の数字からなるコードのことです。 HTTPステータスコード は、 HTTPリクエスト の成功や失敗やドキュメントの移動などを意味します。

下記は、www.yahoo.com へのリクエストの例です。

%curl -I -v http://www.yahoo.com/
* About to connect() to www.yahoo.com port 80 (#0)
*   Trying 111.67.226.84...
* connected
* Connected to www.yahoo.com (111.67.226.84) port 80 (#0)
> HEAD / HTTP/1.1
> User-Agent: curl/7.24.0 (i386-portbld-freebsd7.1) libcurl/7.24.0 OpenSSL/0.9.8e zlib/1.2.3
> Host: www.yahoo.com
> Accept: */*
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Date: Sat, 11 May 2013 07:49:58 GMT
Date: Sat, 11 May 2013 07:49:58 GMT
< P3P: policyref="http://info.yahoo.com/w3c/p3p.xml", CP="省略"
P3P: policyref="http://info.yahoo.com/w3c/p3p.xml", CP="省略"
< Cache-Control: private
Cache-Control: private
< X-Frame-Options: SAMEORIGIN
X-Frame-Options: SAMEORIGIN
< Set-Cookie: PH=deleted; expires=Fri, 11-May-2012 07:49:57 GMT; path=/; domain=.yahoo.com
Set-Cookie: PH=deleted; expires=Fri, 11-May-2012 07:49:57 GMT; path=/; domain=.yahoo.com
< Vary: Accept-Encoding
Vary: Accept-Encoding
< Content-Type: text/html; charset=utf-8
Content-Type: text/html; charset=utf-8
< Age: 0
Age: 0
< Connection: keep-alive
Connection: keep-alive
< Server: YTS/1.20.13
Server: YTS/1.20.13
* no chunk, no close, no size. Assume close to signal end
 
<
* Closing connection #0

下記のリクエストに対して、

HEAD / HTTP/1.1

200 OK というレスポンスが返ってきました。

HTTP/1.1 200 OK

1xx 情報

  • HTTP/1.0 は、 1xx ステータスコードを定義していません。

100 Continue

クライアントは、その要求を継続してもよい。

101 Switching Protocols

プロトコルの切り替えです。 Upgrade ヘッダフィールドが定義するプロトコルに変更します。

2xx 成功

クライアントの要求が成功したときにこのステータスコードを返します。

200 OK

リクエストが成功し、レスポンスと一緒に返されます。

201 Created

リクエストが成功し、新しいリソースが作成されたことを意味します。 Location ヘッダーフィールドに新しく作成された URI を返します。 オリジンサーバは、201ステータスコードを返す前に、リソースが作成されていなければなりません。もし、ただちにリソースを作成できない場合は、 202 Accepted レスポンスをサーバは返します。

202 Accpted

リクエストは、処理することを受け付けたことを意味します。 ただし、処理は、まだ、完了していません。 この非同期の操作は、その結果のステータスコードを再送する機能はありません。。

203 Non-Authoritative Information

ローカルやプロキシ等からの情報であることを締めあします。

204 No Content

返すべき、レスポンスエンティティが存在しない場合に返されます。

POST メソッドでフォームの内容を送信したが、ブラウザの画面を更新しない場合に返されます。

205 Reset Content

サーバは、リクエストを処理し、ユーザエージェントは、ドキュメントビューをリセットしなければなりません。フォームをクリアする必要があります。このレスポンスは、エンティティを含みません。

206 Partial Content

サーバは、部分的な GET リクエストを完了したことを意味します。 このリクエストは、 Range ヘッダーフィールド を含んでいないといけません。 レスポンスには、 Content-Range ヘッダーフィールドか、 mulripart/byteranges Content-Type のそれぞれに Content-Range フィールドが必要です。

multipart/byteranges を使わないなら、レスポンスの Content-Length ヘッダーフィールドは、メッセージボディの転送したオクテットの実際の数値が一致していないとなりません。

207 Multi-Status

WebDAV の拡張ステータスコードです。

226 IM Used

Delta encoding in HTTP の拡張ステータスコードです。

3xx リダイレクション

リソースの場所にリダイレクトするために使われます。

301 Moved Permanently

リソースが恒久的な移動を意味します。

302 Found

そのリソースが保存されている現時点のURLをLocationで示しています。

304 Not Modified

クライアントがGETリクエストを送信したときに、リソースが更新されていなければ、このステータスコードが返ります。304の場合、レスポンスボディは返しません。

307 Temporary Redirect

一時的なリダイレクトです。 POSTからGETへの変更を許可しません。

308 Permanent Redirect

永久的なリダイレクトです。 POSTからGETへの変更を許可しません。

4xx クライアントエラー

クライアントからのリクエストに誤りがあったことを意味します。

400 Bad Request

リクエストの構文が間違っているときのエラーです。 たとえば、リクエストヘッダにHostヘッダがない場合に、このレスポンスが返ります。

401 Unauthorized

認証が必要なときのエラーです。

402 Payment Required

有料ページへのアクセスを想定したエラーです。

403 Forbidden

サーバーによって禁止されているメソッドを実行しようとしたときのエラーです。

404 Not Found

サーバーがリソースがないときに返すエラーです。

405 Method Not Allowed

Request URI にあるリソースは、要求されたメソッドを許可していません。

5xx サーバエラー

サーバがリクエストの処理に失敗したことを意味します。

関連項目