imu-note
いむたろ
いむたろ
@imutaroh
新卒エンジニア / データ基盤 × AI

What — レスポンスは3点セット

HTTP レスポンスもリクエストと同じただのテキストで、ステータスコード・ヘッダ・ボディの3部品でできている。リクエストとの違いは、1行目が「何をしたいか」ではなく「どうなったか」になること。

部品役割
ステータスコード結果の要約200 / 404 / 500
ヘッダ返答の但し書きContent-Type: application/json
ボディ頼んだデータの本体API では基本 JSON

実物 — 成功と失敗の生テキスト

GET /users/42 が成功したときの返答がこれ。

HTTP/1.1 200 OK
Content-Type: application/json

{"id": 42, "name": "imutaro", "role": "engineer"}
  • 1行目:ステータスコード(200=成功した)
  • 2行目:ヘッダ(「中身は JSON」という但し書き)
  • 空行を1つ挟んで、ボディに頼んだデータ本体

存在しない /users/9999 を頼むと、同じ書式のまま中身だけ失敗に変わる

HTTP/1.1 404 Not Found
Content-Type: application/json

{"error": "user not found"}

失敗でもボディは空にならず、エラーの詳細が書いてある。コードだけ見て止まらず、ボディまで読むと原因が早くわかる。

ステータスコードは百の位だけで読める

  • 2xx = 成功 — 200 OK:成功した / 201 Created:作成した / 204:中身なし成功
  • 4xx = 自分のせい — 400:注文の書式が変 / 401:名乗っていない(未認証) / 403:権限がない / 404:その資源は存在しない
  • 5xx = 相手のせい — 500:サーバーエラー / 502・503:後段が死んでいる・過負荷。自分の注文は悪くないので、待つ

関連