HTTPステータスコードは、ウェブサーバーがクライアント(通常はウェブブラウザ)に返す、HTTPリクエストの結果を示す3桁の数字です。
ウェブを閲覧する際や、ウェブ開発の過程において、クライアントとサーバー間の処理の成否を示すために使用されます。
3桁の数字の頭で情報の内容を分類することができます。
この記事ではHTTPステータスコードの分類とそれぞれの番号の意味について解説いたします。
HTTPステータスコードとは
HTTPステータスコードとは、サーバの情報処理の結果を表すコードのことを指します。
サイトが表示されない時に表示される「404」のように3桁の数字で構成されており、番号によってそれぞれ意味が異なります。
数が多いので全て覚えるのは大変です。
以下に一覧を表示するので、まずは分類から理解することをお勧めします。
HTTP ステータスコード一覧
3桁の数字の頭の数字によって情報の内容が変わります。
分類すると以下の通りになります。
100番台:情報レスポンス
200番台:成功レスポンス
300番台:リダイレクト
400番台:クライアント側エラー
500番台:サーバー側エラー
では、それぞれ詳しく見ていきましょう。
100番台のステータスコード
100番台はリクエストが「処理中」であることを意味するステータスコードです。
100:リクエスト継続中
101:プロトコル切り替え
102:処理中
103:レスポンス生成中
200番台のステータスコード
200番台はクライアントからのリクエストが「正常に受付された」ことを示すステータスコードです。
200:リクエスト成功
201:新たに作成されたリソースのURIが返される
202:リクエストが受理されたが、処理が完了していない
203:信頼できない情報
204:リクエストが受理されたが、返すべきレスポンスエンティティの存在がない
205:内容のリセットやリフレッシュ
206:一部リクエストを受理
207:複数のステータスが存在する
208:すでに報告済み
226:IMを使用している
300番台のステータスコード
300番台は「リダイレクト」が発生した際に表示されるステータスコードです。
300:リクエストが複数存在する
301:ウェブサイトが恒久的に移転している
302:ウェブサイトが一時的に移動している
303:他のページを参照
304:リクエストしたリソースが更新されていない
305:プロキシを使用してリクエストを行わなければいけない
306:将来のために予約されている、現在は使われていない
307:一時的なリダイレクト
308:恒久的なリダイレクト
よく見かけるステータスコードとして「301」「302」があります。
301はウェブサイトが移転して、新しいページにリダイレクトされた場合に表示されます。
302はサイトメンテナンスなどで一時的にサイトが見つからない場合に表示されています。
400番台のステータスコード
400番台はクライアント側にエラーの原因がある「エラーコード」です。
400:リクエスト不正
401:認証必要
402:支払い必要
403:アクセス拒否、アクセス禁止
404:Not Found ページが見つからない
405:許可されていないメソッド
406:受理不可
407:プロキシ認証必要
408 :タイムアウト
409:リソースと競合
410:移動または消滅
411:ヘッダーのないリクエスト拒否
412:前提条件のミス
413:サーバーの許容範囲オーバー
414 :URI過大
415:メディアタイプがサーバーでサポート外
416:リソースを超えるデータの要求
417:ヘッダによる拡張不可
421:間違ったリクエスト
422:処理ができないエンティティ
423:リクエストロック
424:依存関係で失敗
425:Early dataを受け入れ不可
426:アップグレード要求
428:条件付きリクエストが必要
429:要求過大によるサーバーの拒否
431:リクエストヘッダーフィールド過大
451:法的理由により利用不可
よく見かけるステータスコードとして「403」「404」があります。
403(Forbidden)はリクエストが拒否または、処理できなかった場合に表示されます。
404(Not Found)とは、「サイトが見つからない」場合に表示されるステータスコードです。
サイトが閉鎖された際によく見かける「サイトが見つかりません」が404コードになります。
500番台のステータスコード
500番台はウェブサーバ側にエラーの原因がある「エラーコード」です。
500:サーバ内部エラー
501:実装されていないメソッド使用
502:不正なゲートウェイ
503:サービスの利用不可
504:ゲートウェイタイムアウト
505:リクエストがサポートされていないHTTPバージョン
506 :HTTPで定義されている拡張ステータスコード
507:リクエストを処理するのに容量不足
508:ループ検出
510:拡張不可
511:ネットワーク認証が必要
まとめ
HTTPステータスコードの意味がわかると、どのようなエラーが出てしまったのかわかりやすいです。
ステータスコードには60種類以上あるため、全てを完全に覚えるのは大変です。
もう一度この記事を見直して、概要だけでも理解することでエラーの原因が特定しやすくなります。
特に100番台の頭の数字の分類をわかっておくと、何か起こった際の対処のスピードが大きく短縮できます。
ウェブサイトを運営される方は、ぜひHTTPステータスコードの意味を理解しておきましょう。