devtools-hub

HTTP Status Reference

HTTPステータスコードを番号/キーワードで検索 — 説明・用途・ヘッダー例を表示

HTTPAPI開発者向け

1xx〜5xx 全HTTPステータスコードを番号またはキーワード(日本語可)で検索できるリファレンスツール。各コードに「日本語説明」「典型的な用途」を記載。カテゴリ別カラーコーディングで視覚的に把握しやすく、カードをクリックするとレスポンスヘッダー例が展開表示されます。コード番号はクリックでコピー可能。オフライン環境でも使えるローカル完結型。

広告

HTTP Status Reference

34

リクエストの最初の部分を受け取り、残りを続けてよい。

サーバーがUpgradeヘッダーに従ってプロトコルを切り替える。

サーバーがリクエストを受け取り処理しているが、まだ応答がない。

メインのレスポンス前にリソースのプリロードヒントを送る。

リクエストが成功した。レスポンスボディに結果が含まれる。

リクエストが成功し、新しいリソースが作成された。

リクエストは受け付けられたが処理はまだ完了していない。

リクエストは成功したがレスポンスボディはない。

範囲指定リクエスト(Range)の部分レスポンス。

リソースのURLが恒久的に変更された。

リソースのURLが一時的に変更された。

GETで別URLを参照してほしい。

リソースは変更されていない。キャッシュを使用できる。

メソッドを変えずに一時的に別URLへリダイレクト。

メソッドを変えずに恒久的に別URLへリダイレクト。

サーバーがリクエストを解釈できない。構文エラーなど。

認証が必要。認証情報が正しくない場合も含む。

認証済みだがそのリソースへのアクセス権限がない。

リクエストされたリソースが見つからない。

リクエストメソッドがリソースでサポートされていない。

サーバーがリクエストを待機している間にタイムアウトした。

リソースの現在の状態と競合がある。

リソースが恒久的に削除され今後も存在しない。

リクエストボディがサーバーの許可サイズを超えている。

リクエストのContent-Typeが受け付けられない。

構文は正しいがセマンティクスが正しくない(バリデーションエラー)。

レート制限を超えたリクエスト。

法的要求(著作権・政府要請など)によりリソースが利用できない。

サーバー側で予期しないエラーが発生した。

サーバーがリクエストメソッドをサポートしていない。

ゲートウェイとして機能するサーバーが無効な応答を受けた。

サーバーが一時的にリクエストを処理できない。

ゲートウェイがアップストリームから応答を受け取れなかった。

サーバーのストレージが不足しリクエストを完了できない。

Features

  • 1xx〜5xx 全コードを番号・キーワード(日本語可)でリアルタイム検索
  • カテゴリ別(1xx〜5xx)フィルタボタン
  • カテゴリごとにカラーコーディング(青/緑/黄/オレンジ/赤)
  • カードをクリックして用途・レスポンスヘッダー例を展開表示
  • コード番号をクリックでクリップボードにコピー
  • 200・404・500・429 など35コード以上を収録

Desktop App

デスクトップ版を入手する

Windows 向けアプリ版はすべての機能をフルで使えます。BOOTH で配布中。

BOOTH で見る
広告

HTTPステータスコードの設計指針 — REST APIでの適切な使い方

HTTPステータスコードは単なる数字ではなく、APIの設計思想を伝える重要なインターフェースです。適切なコードを返すことでクライアントは処理の成否を即座に判断でき、デバッグが容易になります。

2xxの使い分け

200 OKはGET・PUT・PATCHの成功に使います。201 CreatedはPOSTでリソース作成成功時に使い、Locationヘッダーで作成されたリソースのURLを返します。204 No ContentはDELETE成功・副作用なしのPUT・副作用なしのPATCHで使います。202 Acceptedはキューへのエンキューなどですぐにはレスポンスが返せない非同期処理の受理を示します。

4xxのベストプラクティス

400 Bad Requestはリクエストの構文エラー、422 Unprocessable ContentはバリデーションエラーやビジネスロジックのNG、401はAuthorizationヘッダーがない・無効、403は認証済みだがアクセス権なし、409 Conflictは重複登録・楽観的ロック競合、429 Too Many Requestsはレートリミット超過に使います。エラーレスポンスのボディにはエラーコードと人間が読めるメッセージを含めるとデバッグが楽になります。

リダイレクトコードの違い

301/308は恒久的リダイレクト(SEO評価が引き継がれる)、302/307は一時的リダイレクト(SEO評価は引き継がない)です。301/302はブラウザがPOSTをGETに変換することがありますが、307/308はメソッドを保持します。APIのエンドポイントを移行する場合は308を使うと、クライアントがPOSTリクエストをそのまま新URLに送り直してくれます。

5xxのハンドリング

5xxはすべてサーバー側の問題です。500 Internal Server Errorは予期しない例外のフォールバック、502 Bad GatewayはリバースプロキシがバックエンドとTCP接続できない・無効なHTTPレスポンスを受け取った、503 Service Unavailableはメンテナンス・過負荷でRetry-Afterヘッダーで再試行タイミングを示す、504 Gateway Timeoutはバックエンドの処理タイムアウトです。クライアントは5xxに対してエクスポネンシャルバックオフでリトライするのが一般的です。

Related Tools

base64-studio

Base64 エンコード & デコード

開発者向けテキストエンコード

使ってみる →

BOOTH

JSON Studio

JSON フォーマッター & バリデーター

JSON開発者向けフォーマッター

使ってみる →

BOOTH

color-deck

カラーコード変換 & パレット保存

カラーデザイン開発者向け

使ってみる →

BOOTH

このツールを共有する