잘 설계된 REST API는 상태코드로 요청 결과를 명확히 전달합니다. 조회 성공은 200 OK, 리소스 생성은 201 Created(새 URL은 Location 헤더), 반환할 본문이 없는 성공(예: 삭제)은 204 No Content를 사용합니다.
클라이언트 오류는 4xx로 구분합니다. 잘못된 문법은 400 Bad Request, 인증 필요는 401 Unauthorized, 권한 없음은 403 Forbidden, 리소스 없음은 404 Not Found, 상태 충돌은 409 Conflict, 검증 실패는 422 Unprocessable Content, 요청 과다는 429 Too Many Requests가 표준적입니다.
서버 오류는 5xx로 알립니다. 예기치 못한 예외는 500 Internal Server Error, 과부하·점검은 503 Service Unavailable을 쓰고 가능하면 Retry-After 헤더를 함께 보냅니다. 무엇보다 같은 상황에는 항상 같은 코드를 일관되게 반환하는 것이 API 사용성을 좌우합니다.