Back

404は知っているが、401と403の違いは何か?(HTTPステータスコード)

Webサーフィン中に 404 Not Found ページに遭遇したことがあるでしょう。

この番号は HTTPステータスコード と呼ばれ、サーバーがクライアント(ブラウザ)のリクエストの結果を伝えるための標準プロトコルです。

すべての開発者が知っておくべき重要なステータスコードの概要を以下に示します。

1. ステータスコードのカテゴリ

ステータスコードは、最初の桁に基づいて5つのクラスに分類されます。

  • 1xx (情報): リクエストを受け取り、処理を継続中。
  • 2xx (成功): アクションが正常に受信され、理解され、受け入れられた。
  • 3xx (リダイレクト): リクエストを完了するために追加のアクションが必要。
  • 4xx (クライアントエラー): リクエストに誤った構文が含まれているか、満たすことができない。
  • 5xx (サーバーエラー): サーバーが明らかに有効なリクエストを満たすことができなかった。

2. 成功 (2xx)

  • 200 OK: 成功したHTTPリクエストに対する標準的なレスポンス。
  • 201 Created: リクエストが満たされ、新しいリソースが作成された。
  • 204 No Content: サーバーはリクエストを正常に処理したが、コンテンツを返さない。

3. クライアントエラー (4xx)

最も紛らわしいペアは 401403 です。

  • 400 Bad Request: 明らかなクライアントエラー(例:不正なリクエスト構文)のため、サーバーはリクエストを処理できないか、処理しません。
  • 401 Unauthorized: 「未認証」。ログインが必要です。(IDカードを持っていません。)
  • 403 Forbidden: 「未認可」。ログインしていますが、権限がありません。(IDカードは持っていますが、アクセスパスがありません。)
  • 404 Not Found: リクエストされたリソースが見つかりませんでした。

4. サーバーエラー (5xx)

  • 500 Internal Server Error: 予期しない条件が発生した場合に与えられる一般的なエラーメッセージ。
  • 502 Bad Gateway: サーバーがゲートウェイまたはプロキシとして機能しており、上流サーバーから無効なレスポンスを受け取った。
  • 503 Service Unavailable: 一時的な過負荷またはメンテナンスのため、サーバーは現在リクエストを処理できません。

結論

HTTPステータスコードは、クライアントとサーバー間の通信言語です。

適切なステータスコードを返すことは、優れたAPI設計の基本であり、デバッグ時間を短縮するための鍵です。すべてに対して単に 200 OK を返さないでください!

TechHTTPWebNetwork

関連ツールを見る

Pockitの無料開発者ツールを試してみましょう