Oh MyUtils

HTTPステータスコード リファレンス - HTTPレスポンスコード一覧 オンライン

すべてのHTTPステータスコード(1xx-5xx)を説明、ユースケース、レスポンス例付きで検索、フィルタリング、コピー。インタラクティブリファレンス — 100%クライアントサイド、サーバーにデータは送信されません。

61件のステータスコード

よくある質問

HTTPステータスコードとは何ですか?

HTTPステータスコードは、クライアントのリクエストに対してWebサーバーが返す3桁の数字です。リクエストが成功したか、リダイレクトされたか、エラーが発生したかを示します。ステータスコードは5つのクラスに分類されます:1xx(情報)、2xx(成功)、3xx(リダイレクション)、4xx(クライアントエラー)、5xx(サーバーエラー)。IETFのRFC 9110で定義されており、Webの動作の基本です。

このHTTPステータスコード参照ツールはどのように使用しますか?

検索バーにステータスコード番号(例:'404')やキーワード(例:'not found'や'redirect')を入力すると、関連するコードを即座に見つけることができます。1xx〜5xxボタンを使用してカテゴリでフィルタリングすることもできます。ステータスコードカードをクリックすると、詳細な説明、一般的な使用例、コピー可能なレスポンス例が表示されます。コピーボタンを使用して、プロジェクトに必要なコードやスニペットをすばやく取得できます。

データは安全ですか?サーバーに送信されるものはありますか?

このツールは100%クライアントサイドで動作します。すべてのHTTPステータスコードデータはページに静的に埋め込まれており、APIコール、サーバーリクエスト、データ収集は一切ありません。検索クエリやインタラクションがブラウザの外に出ることはありません。初回のページ読み込み後は完全にオフラインで動作します。

401 Unauthorizedと403 Forbiddenの違いは何ですか?

401 Unauthorizedは、リクエストに有効な認証資格情報がないことを意味します。クライアントが自身を識別していない状態です。サーバーは「あなたが誰かわかりません。認証してください」と言っています。403 Forbiddenは、サーバーがあなたが誰かを知っている(認証済みかもしれない)が、そのリソースにアクセスする権限がないことを意味します。サーバーは「あなたが誰かはわかっていますが、許可されていません」と言っています。

301と308リダイレクトの違いは何ですか?

どちらも永続的なリダイレクトを示します。301 Moved Permanentlyはリダイレクト時にHTTPメソッドの変更を許可します(例:POSTがGETに変わる可能性があります)。308 Permanent Redirectは元のHTTPメソッドを保持します。POST/PUTを使用するAPIの場合、308がより安全な選択です。同様に302と307の関係も同じです:302 Foundはメソッド変更を許可し、307 Temporary Redirectはメソッドを保持します。

418 'I'm a teapot'ステータスコードはなぜ存在するのですか?

418 I'm a teapotは、1998年にエイプリルフールのジョークとしてRFC 2324でHyper Text Coffee Pot Control Protocol(HTCPCP)の一部として定義されました。標準の観点からは実際のHTTPステータスコードではありませんが、イースターエッグとして広く採用されており、多くのHTTPライブラリやフレームワークで認識されています。完全性のためにこのリファレンスに含まれています。

WebDAVステータスコードとは何ですか?

WebDAV(Web Distributed Authoring and Versioning)は、クライアントがリモートWebコンテンツのオーサリングを行えるようにするHTTPの拡張です。207 Multi-Status、422 Unprocessable Content、423 Locked、424 Failed Dependency、507 Insufficient Storage、508 Loop Detectedなどの追加ステータスコードを導入しています。これらのコードはRFC 4918で定義されており、現代のREST APIで一般的に使用されています(特にバリデーションエラーに422が使用されます)。

コード例

// HTTP Status Code lookup

const HTTP_STATUS_CATEGORIES = {
  '1xx': 'Informational',
  '2xx': 'Success',
  '3xx': 'Redirection',
  '4xx': 'Client Error',
  '5xx': 'Server Error',
};

function getStatusCategory(code) {
  if (code >= 100 && code < 200) return '1xx';
  if (code >= 200 && code < 300) return '2xx';
  if (code >= 300 && code < 400) return '3xx';
  if (code >= 400 && code < 500) return '4xx';
  if (code >= 500 && code < 600) return '5xx';
  return 'Unknown';
}

const STATUS_CODES = {
  200: 'OK',
  201: 'Created',
  204: 'No Content',
  301: 'Moved Permanently',
  302: 'Found',
  304: 'Not Modified',
  400: 'Bad Request',
  401: 'Unauthorized',
  403: 'Forbidden',
  404: 'Not Found',
  405: 'Method Not Allowed',
  409: 'Conflict',
  422: 'Unprocessable Content',
  429: 'Too Many Requests',
  500: 'Internal Server Error',
  502: 'Bad Gateway',
  503: 'Service Unavailable',
};

async function fetchWithStatusHandling(url, options = {}) {
  try {
    const response = await fetch(url, options);
    const category = getStatusCategory(response.status);
    switch (category) {
      case '2xx':
        if (response.status === 204) return { data: null, status: 204 };
        return { data: await response.json(), status: response.status };
      case '4xx':
        const clientError = await response.json().catch(() => ({}));
        throw {
          status: response.status,
          statusText: STATUS_CODES[response.status] || response.statusText,
          message: clientError.message || `Client error: ${response.status}`,
          isRetryable: response.status === 429,
          retryAfter: response.headers.get('Retry-After'),
        };
      case '5xx':
        throw {
          status: response.status,
          statusText: STATUS_CODES[response.status] || response.statusText,
          message: `Server error: ${response.status}`,
          isRetryable: [502, 503, 504].includes(response.status),
        };
      default:
        throw new Error(`Unexpected status code: ${response.status}`);
    }
  } catch (error) {
    if (error.status) throw error;
    throw { status: 0, message: 'Network error', isRetryable: true };
  }
}

関連ツール

IPサブネット計算機 - IPv4・IPv6 CIDR計算機 オンライン
HTTPヘッダー解析ツール - セキュリティヘッダー解析・監査 オンライン
JSONフォーマッター&バリデーター - JSON整形 オンライン
SQLフォーマッター&整形ツール - SQLクエリ整形 オンライン
コード圧縮ツール - JavaScript, CSS, HTML 圧縮 オンライン
SVG to JSX変換器 - SVGをReactコンポーネントに変換 オンライン