単語記事: HTTPステータスコードの一覧

編集

HTTPステータスコードとは、RFC2616によって定められた、サーバからのレスポンスの意味を表現するものである。3桁の数字からなる。

コード一覧

HTTPステータスコード100の位で大まかな種別を識別し、下2桁で細かい内容を識別する。
また、IISでは、401403404をさらに細かく区分しているが本来これは標準ではないので割愛する。
概略を説明すると診断のために必要な情報であるという程度である。

原則として、IANAが提供しているHTTPステータスコード一覧に掲載されているものについて取り扱う。ただし、418については掲載されていないが記事があるので触れる。

また、ニコニコ大百科に個別に記事のあるステータスコード太字で記載するので、詳しくはリンク先の記事も参照にされたい。

1xx - Informational

この系列は暫定的なレスポンスとして返される。そのため、レスポンスには中身がない。

1xxステータスコード一覧
番号・説明句 概要 出典
100 - Continue クライアントリクエスト継続すべきである。サーバはすべてを処理した後最終応答を返さなければならない。一般にこのコードが使われることはほぼないはずである。こちらから要をしない限りは。 RFC2616(HTTP/1.1)
101 - Switching Protocols サーバクライアントから示されたことに従いプロトコルを変更する用意がある。このコードは一般に見えることはないが、WebSocket(RFC6455)という技術を使う場合は確実に使うことになるので今後お世話になる機会は増えるだろう。 RFC2616(HTTP/1.1)
102 - Processing リクエストは受理されたがまだ了していない(おそらく20秒以上かかるだろう)。後継規格のRFC4918では削除されている。 RFC2518(WEBDAV)

2xx - Success

この系列では原則としてリクエストは正常に受信され、処理され、受理されたということを示す。

2xxステータスコード一覧
番号・説明句 概要 出典
200 - OK リクエストは成功した。一般的にはこれに一番お世話になっているが気づくことはないのが普通。ただ、ステータスコード200でも「ページが見つかりません」とか言うやつがたまにいる(いわゆるソフト404)ので注意。クローラーもこれには苦戦する。 RFC2616(HTTP/1.1)
201 - Created は正常に作成された。レスポンスボディ内部にその資の場所は書かれていてもっともそれをよくあらわすものはLocationヘッダにある、とされている。とはいえまずこれのお世話になることはないはず。POSTなら200が戻るはずなので。それと、これが戻ってきた段階ですでに資は作成されているべきである。そうでないならば202を戻すこと。 RFC2616(HTTP/1.1)
202 - Accepted は受け付けられたが処理はまだ了していない。このステータスに伴う応答本体には現在状況と、監視場所か要了見込み時刻のどちらかがあるべきである。 RFC2616(HTTP/1.1)
203 - Non-Authoritative Information この資は自分で管理しているものではなく、ローカルもしくは第三者からのコピーである。スーパーセットサブセットでもかまわない。その場合でも必ずしも203である必要はなく200でもよい。 RFC2616(HTTP/1.1)
204 - No Content メタ情報更新はあるが応答の中身は一切ない。UAは見え方を一切更新すべきではない。 RFC2616(HTTP/1.1)
205 - Reset Content UAは見せ方を更新すべきである。この応答には中身を一切含んではならない。 RFC2616(HTTP/1.1)
206 - Partial Content 部分的GETをサポートする場合で、その資定された一部分である。部分的GETといってなじみがないかもしれないが、実際に2chブラウザの一部はこれをサポートしている。これによりいちいち毎回書き込み全部を読み込む必要がなくなるので回線を圧迫しなくなる。2chブラウザにおける部分的GETの使い方についてはこちらから。 RFC2616(HTTP/1.1)
207 - Multi-Status COPYメソッドで複数資を対にしたが一部資について失敗したなどの場合に返る。 RFC4918(WebDAV)
208 - Already Reported 同一集合に対する複数束縛の内部メンバの模倣を回避するために使われる、とかかれているが何を言っているのか著者には不明。詳細わかる人執筆希望 RFC5842(WebDAV)
226 - IM Used この要素について1以上のインスタンス操作が行われている。 RFC3229(HTTPにおける差分符号化)

3xx - Redirection

この系列ではユーザーエージェント(ブラウザロボット)に対し追加のアクションめる。たいていの場合は別のURLリクエストを変更することになるだろう。なお、古い規格ではリダイレクトの回数は5回までに制限することが推奨されていた。基本的にリダイレクトは帯域を圧迫するなどデメリットしかないので何らかの方法で無限ループを抑止するべきである。

3xxステータスコード一覧
番号・説明句 概要 出典
300 - Multiple Choices この資には複数の表現が存在するからユーザはお好みの場所を選択すること。そうすればそこへリダイレクトされるだろう。ただ、実際にこれが使われることはほぼないといってよい。というのもたいていはそうは組まないからである。 RFC2616(HTTP/1.1)
301 - Moved Parmanently その資は新しい永続的URIへ移転した。たいていの場合末尾にスラッシュを忘れた場合にスラッシュを付与するために使われるが、本当にサイトそのものが移転した場合にも使われる。 RFC2616(HTTP/1.1)
302 - Found そのURLは一時的に別の場所に移転している。リクエストメソッドを本来は変更してはならないのだが、しばしば303の用途に用いられてしまったため(あちらはメソッドをGETに変更する)本来の用途のために307が新しく作られた。2chブラウザの場合はたいていdat落ちした場合に使われる。 RFC2616(HTTP/1.1)
303 - See Other 示された場所をGETするように。ただ、多くのUA303をうまく認識しないため、302が代用として使われてしまうという状況に陥っている。 RFC2616(HTTP/1.1)
304 - Not Modified 条件付GETで特に問題はないが、更新がない場合に発生する。2chブラウザの場合、差分GETをしようとしたときに何も更新がない場合に使われる。 RFC2616(HTTP/1.1)
305 - Use Proxy Locationヘッダで示されたプロキシを使うこと。なお、この応答はオリジンサーバ(要するに元コンテンツをもってるサーバ)以外は生成してはいけない RFC2616(HTTP/1.1)
306 - (Unused) このコードはかつては使われていたが現在バージョンでは使われていない。なので予約済み。1996年のドラフトでは、Switch Proxy(別のプロキシを使うこと。当然プロキシサーバが生成する)が割り当てられていたようである。 RFC2616(HTTP/1.1)
307 - Temporary Redirect 一時的に別のURIにある。要するに302が誤用されすぎたために代わりに増えたコードである。 RFC2616(HTTP/1.1)
308 - Permanent Redirect 永続的307と考えれば差し支えない。 RFC7238(HTTPステータスコード308(永続的リダイレクト))

4xx - Client Error

この系列ではクライアントリクエストには何らかの問題を抱えていてサーバリクエストを処理することができない。たいていの場合本番環境なら本当にクライアントに原因があるが、開発環境だとしばしば、本番環境でもまれにサーバ側に原因がある場合がある(たとえば.htaccessの設定を間違えたとか)。

4xxステータスコード一覧
番号・説明句 概要 出典
400 - Bad Request リクエストの構造がおかしくサーバ理解できない。クライアントは修正なしにリクエストを投げるべきではない。 RFC2616(HTTP/1.1)
401 - Unauthorized されていないか、あるいは認失敗したサーバはその情報を伝えるべきであるし、クライアントは認を行えるようなシステム提供すべきである。一応、RFC2617BASICダイジェストが定義されている。 RFC2616(HTTP/1.1)
402 - Payment Required 将来の利用のために予約されている。 RFC2616(HTTP/1.1)
403 - Forbidden サーバリクエストを理解したが遂行を拒否した。よくあるのがアクセスが禁止されている場所へアクセスしたり、管理者によりアクセスを拒否されたりしている場合である。まれに設定ミスの可性もあるが。なお、この応答ではHEADメソッド(ヘッダだけ必要で他の中身は不要)でない限り理由を明示すべきである(必須ではない)。理由を明かしたくないならば404を使ってもよい。 RFC2616(HTTP/1.1)
404 - Not Found (404 - File Not Found) その資は存在しない。410とは違いそれが一時的な場合もある。404は他の応答を使う場合で理由を隠蔽したい場合にも使うことができる。エラーの中では一番よくみるものである。 RFC2616(HTTP/1.1)
405 - Method Not Allowed リクエストURIに対して要されたメソッド許可されていない。応答ヘッダには許可されているメソッドを含むべきである。例えば読み込み専用のリソースに対してPUTを試みたなど。 RFC2616(HTTP/1.1)
406 - Not Acceptable クライアントの受け入れられる応答は生成できない。HTMLが欲しいといっているが作れるのはJSONだけであるなどいろいろなパターンが存在する。 RFC2616(HTTP/1.1)
407 - Proxy Authentication Required プロキシ経由での認が必要である。 RFC2616(HTTP/1.1)
408 - Request Timeout リクエストを制限時間内に了しなかった。リクエストについては問題のない可性があるのでもう一度繰り返してもよい。 RFC2616(HTTP/1.1)
409 - Conflict リクエストは衝突したため了できなかった。解決可なだけの情報サーバ提供すべきである。よく起きるのはPUTメソッドの場合である。 RFC2616(HTTP/1.1)
410 - Gone もはやその資は利用可でなく、どこにその資がいったか知らない。本当にそうであるか確信を持てない場合404を返すべきである。 RFC2616(HTTP/1.1)
411 - Length Required Content-Lengthヘッダがない。POSTPUTのようにデータが必要なリクエストにも関わらずその長さがわからない。 RFC2616(HTTP/1.1)
412 - Precondition Failed 前提条件が失敗した。要するに条件付きリクエストにも関わらずその条件を満たしていない、ということ。 RFC2616(HTTP/1.1)
413 - Request Entity Too Large リクエストが大きすぎなのでサーバはその遂行を拒否した。一時的ならRetry-Afterでどれくらいしたら大丈夫かを示してもよい。 RFC2616(HTTP/1.1)
414 - Request-URI Too Large リクエストURIが長過ぎる。本来POSTで投げるべきようなものをGETで投げてしまっているなどを疑うべきである。 RFC2616(HTTP/1.1)
415 - Unsupported Media Type リクエストメディアタイプがそのメソッドではサポートされていないので拒否した。 RFC2616(HTTP/1.1)
416 - Requested Range Not Satisfiable 部分的GETを試みたが、その範囲を満たすことができない。2chブラウザでは、あぼーんが発生した場合によく発生する。 RFC2616(HTTP/1.1)
417 - Expectation Failed Expectヘッダに適合できない。 RFC2616(HTTP/1.1)
418 - I'm a tea pot ティーポットにコーヒーを入れさせようとした。 RFC2324(HTCPCP/1.0)
421 - Misdirected Request レスポンスを生成できないサーバリクエストした。 RFC7540(HTTP/2)
422 - Unprocessable Entity リクエストのボディのタイプは理解したし、文法上も問題ないが示内容が処理不である。 RFC4918(WebDAV)
423 - Locked 示された資ロックされている。 RFC4918(WebDAV)
424 - Failed Dependency 依存している他のアクション失敗したので失敗した RFC4918(WebDAV)
425 - Unordered Collection 順序なし集合に対し順序を定した。 とある失効したドラフト(失効日は1999年12月18日)
426 - Upgrade Required Upgradeヘッダが必要である。 RFC2817(HTTP/1.1のTLSアップグレード)
428 - Precondition Required オリジンサーバが条件付きリクエストを要している。 RFC6585(追加HTTPステータスコード)
429 - Too Many Requests 短時間にリクエストを送りすぎなのでリクエストの遂行を拒否した。 RFC6585(追加HTTPステータスコード)
431 - Request Header Fields Too Large ヘッダサイズが大きすぎる。 RFC6585(追加HTTPステータスコード)

5xx - Server Error

サーバ側に問題がありこのリクエストを処理することができないことをこの系列ではし示している。

5xxステータスコード一覧
番号・説明句 概要 出典
500 - Internal Server Error サーバリクエスト処理中にリクエスト遂行を妨げる予期せぬ状況に遭遇した。たいていの場合、CGIなどのプログラムミスである。 RFC2616(HTTP/1.1)
501 - Not Implemented あなたのリクエストサーバが取り扱うことのできないものである。メソッド実装されていないなどの場合の適切な応答。 RFC2616(HTTP/1.1)
502 - Bad Gateway 上流サーバから不正な応答を受け取った。一般にアプリケーションサーバとやり取りしてる際に、そのアプリケーションサーバと適切なやり取りを行えなかった時に起きる。 RFC2616(HTTP/1.1)
503 - Service Unavailable 過負荷やメンテナンスによりアクセスである。Retry-Afterヘッダで待ってほしい時間を連絡可。もしそれがない場合クライアント500と同様に扱うべきである。また、この応答は単純に接続拒否したいためだけにこの503を使うかもしれない。 RFC2616(HTTP/1.1)
504 - Gateway Timeout ゲートウェイプロキシから出したリクエストの応答が所定時間内に戻ってこなかった。ただし、一部のプロキシ実装ではDNSルックアップ失敗した場合にこの504ではなく400や500を戻すやつがいる。 RFC2616(HTTP/1.1)
505 - HTTP Version not supported そのバージョンHTTPはこのサーバではサポートしていない。サーバはきちんとどのバージョンサポートしているか伝えるべきである。 RFC2616(HTTP/1.1)
506 - Variant Also Negotiates 設定ミス。自分自身と透過的コンテンツ交渉をしようとしている。 RFC2295(HTTPにおける透過的コンテンツ交渉)
507 - Insufficient Storage 記憶領域の容量不足によりリクエスト了できない。この状況は一時的と見なされ、ユーザリクエストによるものなら別のアクションによってリクエストが発行されるまで繰り返されてはならない。 RFC4918(WebDAV)
508 - Loop Detected 再帰を要されたがループに入った。 RFC5842(WebDAV)
510 - Not Extended アクセスポリシーと整合しない。サーバは拡リクエストを発行するために必要な情報提供すべきである。 RFC2774(HTTPフレームワーク)
511 - Network Authentication Required ネットワークが必要である。クレデンシャルを発行するためのアドレスを応答は示すべきである。この応答はオリジンサーバから発行されるべきではない。 RFC6585(追加HTTPステータスコード)

関連項目


【スポンサーリンク】

携帯版URL:
http://dic.nicomoba.jp/k/a/http%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E4%B8%80%E8%A6%A7
ページ番号: 381415 リビジョン番号: 2257535
読み:エイチティーティーピーステータスコードノイチラン
初版作成日: 08/07/22 02:27 ◆ 最終更新日: 15/09/06 08:25
編集内容についての説明/コメント: HTTP/2の正式版が出たので更新
記事編集 / 編集履歴を閲覧
このエントリーをはてなブックマークに追加

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

HTTPステータスコードの一覧について語るスレ

3 : ななしのよっしん :2009/08/18(火) 23:22:13 ID: Q46h8kpplY
RFCって伝書を使ってIP伝えるプロトコルとか
洗濯ばさみ使うプロトコルとかわけわからんものも作ってるんだよな
伝書のやつにいたっては良版まで出したし
4 : ななしのよっしん :2010/02/10(水) 21:57:02 ID: ddgDgDIcME
メンテ中に見えていたものを貼ってみる。
500 - Internal Server Error関連として。

http://dic.nicovideo.jp/img/text_500_01.gif
http://dic.nicovideo.jp/img/img_500.gif
http://dic.nicovideo.jp/img/text_500_02.gif
5 : ななしのよっしん :2011/06/14(火) 13:52:06 ID: D8J2blRZjR
本来、Webシステムの開発者が扱うためのもので、一般利用者のには触れるはずのないもの・・・なのだが
404 などのようにある程度の期間Webを利用していれば
おなじみになってしまうものもいる
(あっ、でも会員番号404 などのように擬人化してとらえちゃダメだぞ!)

ちなみにこうなった原因は Web爆発的に普及する過程で
にわかSEのやっつけ仕事によるシステムが大量にうわなにをすrはなs
6 : ななしのよっしん :2012/05/08(火) 22:21:16 ID: /gVW4Ksd9y
その上「404の人」みたいに個人の代名詞化するケースまで現れると
7 : ななしのよっしん :2012/10/12(金) 21:51:34 ID: 44PTfkpvhR
今度この記事を変したいと思ってます。
具体的には、ここのページをみれば多少は理解できる程度には。
あと、まじめなものについては一応コード一覧がここにありますよ、と。
http://www.iana.org/assignments/http-status-codes/http-status-codes.xml
例えば、一覧で抜けてるものとしては102207208226308、422-426、428、429、431506-508、510511がある。
8 : ななしのよっしん :2013/03/26(火) 02:24:19 ID: dqMjX+4NVL
418吹いたwww
9 : . :2013/05/01(水) 23:03:58 ID: Mts3nS90Ni
http://www.nicovideo.jp/watch/nm12540265
10 : ななしのよっしん :2015/09/06(日) 07:20:59 ID: ut7+6/dK9d
chromewikipedia日本語版限定で337をはきまくってる・・・。
orz
11 : ななしのよっしん :2015/12/22(火) 23:41:18 ID: 4iVCOR1z0q
新しいHTTPステータスコード451」が承認される--検閲による閲覧禁止示す
http://headlines.yahoo.co.jp/hl?a=20151222-35075328-cnetj-sci

承認に至る経緯は検閲の厳しさと、技術的な理由で表示されないページと、他の理由でアクセス出来ないページとを区別してほしいとサイト運営者から要望が増えたため。
451という数字は「451度」に敬意を表したもの。
12 : ななしのよっしん :2017/01/15(日) 13:57:33 ID: 1XBke3n5qr
418
いきなりふざけてて
ニコニコニューストピックス
  JASRAC許諾番号: 9013388001Y45123
  NexTone許諾番号: ID000001829