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"}
存在しない /users/9999 を頼むと、同じ書式のまま中身だけ失敗に変わる。
HTTP/1.1 404 Not Found
Content-Type: application/json
{"error": "user not found"}
失敗でもボディは空にならず、エラーの詳細が書いてある。コードだけ見て止まらず、ボディまで読むと原因が早くわかる。