개인 프로젝트에서 자주 사용했던 HTTP Status Code를 기준으로 정리해보았습니다.
<참고자료>
가장 일반적으로 많이 사용하는 Status Code로 요청이 성공했음을 의미합니다.
회원가입(유저 생성), 글 작성 등 어떠한 리소스의 생성을 성공적으로 완료했을 때 사용하는 Status Code로 일반적으로 POST 요청에서 많이 사용합니다.
주로 Query Parameter나 Request Body로 들어오는 데이터의 형식이 올바르지 않을 때와 같이 서버가 요청을 이해할 수 없는 상황에서 사용합니다.
인증되지 않은 상태에서 인증이 필요한 리소스에 접근할 때 사용하는 Status Code입니다. 주로 Access Token를 요구할 때 유효하지 않은 Token을 받았을 때 응답했습니다.
인증된 상태에서 권한이 없는 리소스에 접근할 때 사용하는 Status Code입니다. 예를 들어 로그인을 한 상태에서 다른 유저의 좋아요 상태를 변경시키는 API를 호출하는 경우 이 Status Code를 사용했습니다.
가장 친숙한 Status Code이지 않을까 싶습니다. 주로 찾고자 하는 리소스가 없을 때, 요청한 API Route가 존재하지 않을 때 사용했습니다.
/ewoifjwioefjio
와 같이 존재하지 않는 Route에 요청을 보냈을 때해당 HTTP Method에 대해서 요청을 막기 위한 용도로 사용하는 Status Code로 주로 특정 Method에 대해서 처리를 구현하지 않았을 때(해당 메서드를 지원하지 않을 때) 사용했습니다.
요청이 현재 서버의 상태와 충돌될 때 사용하는 Status Code로 이미 회원가입된 유저에 대해서 다시 회원가입을 시도할 때 등의 상황에서 사용했습니다.
Payload의 크기가 서버에서 정의한 한계보다 클 때 사용하는 Status Code입니다. 파일 등을 전달받을 때 파일의 크기가 정의한 값보다 큰 경우와 같은 상황에서 사용했습니다.
서버에서 예외처리되지 않은 오류에 대해서 처리할 때 이 Status Code를 사용합니다. 서버가 동작하지 않을 수 있는 상황이기 때문에 이 Status Code가 응답되었을 때 어떤 이유 때문에 이 Code가 응답되었는 지 잘 살펴봐야 합니다.