이전에 싸이월드 클론코딩 했던것을 리팩토링 하며 HTTP Status Code를 각 상황에 맞게 수정해보려고 찾아보던중 따로 정리해놓으면 편할것 같아 작성해본다.
1. 200 OK
가장 일반적으로 사용하며 Status Code로 요청이 성공했다는 것을 의미한다.
ex) 게시글을 가져오는 GET요청이 성공했거나, 로그인에 성공했을때
2. 201 Created
회원가입 또는 게시글 작성 같은 리소스 생성을 성공했다는 것을 의미한다.
ex) 게시글을 작성하는 POST요청이 성공했거나, 회원가입에 성공했을때
3. 400 Bad Request
Parameter나 Body로 들어오는 데이터의 형식이 올바르지 않을 때 사용한다.
ex) 요구하는 Parameter나 Body 중 누락된 데이터가 있을때, 입력한 타입이 올바르지 않을때
4. 401 Unauthorized
인증되지 않은 상태에서 인증이 필요한 리소스에 접근할 때 사용한다.
ex) 로그인이 필요한 서비스를 로그인 하지않고 요청했을 때
5. 403 Forbidden
인증된 상태에서 권한이 없는 리소스에 접근할 때 사용한다.
ex) 로그인은 되어있으나, 해당 유저에게 권한이 없는 요청을 했을 때.
6. 404 Not Found
찾고자 하는 리소스가 없을 때나, 요청한 API Route가 존재하지 않을 때 사용한다.
7. 405 Method Not Allowed
해당 HTTP Method에 대해서 요청을 막기 위한 용도로 사용하거나
특정 Method에 대해서 처리를 구현하지 않았을 때 사용한다.
8. 409 Conflict
요청이 현재 서버의 상태와 충돌될 때 사용한다.
ex) 이미 회원가입된 유저에 대해서 다시 회원가입을 시도할 때나 이미 처리된 요청을 다시 보냈을때.
9. 413 Payload Too Large
Payload의 크기가 서버에서 정의한 한계보다 클 때 사용한다.
ex) 파일 등을 전달받을 때 파일의 크기가 정의한 값보다 큰 경우
10. 500 Bad Gateway
서버에서 예외처리되지 않은 오류에 대해서 처리할 때 사용한다.
서버가 동작하지 않을 수 있는 상황이기 때문에 응답되었을 때 로그를 살펴 원인을 찾아야 한다.
ex) 예외처리 하지 않은 오류 발생