빠르고간단한 HTTP Response Code 이해하기

Harrison Jung·2022년 6월 19일
0

최근 Swagger 를 이용해서 RESTfull API 문서를 작성하고 있는게 하나 있는데, 나랑 우리회사 팀원들도 참고할 겸, 그리고 우리집에 계신 개발자 분도 참고하라고 겸사 겸사 해서 테이블로 정리.

인터넷 검색해도 많긴 한데, 조금 읽기 길어서 짧게.

( 정말 간단하게는 프론트에서는 주로 2XX , 4XX 대만 신경써도 거의 대부분 됨 )

  • API를 만들때 사용하는 HTTP 응답 코드
CodeStatusCase
200OK클라이언트의 요청을 서버가 정상적으로 처리했다.
정상적으로 응답을 내려준다.
201Created클라이언트의 요청을 서버가 정상적으로 처리했고 새로운 리소스가 생겼다.
새로운 아이템이 생성되었다.
202Accepted비동기 작업에 대한 요청시. 생성하는데 시간이 걸려서 응답을 해주긴 했지만, 아직 서버에서는 작업중이다.
204No Content정상적으로 요청하였으나, 컨텐츠가 없는경우 주의!)응답 데이터가 없다!
예 ) 삭제 요청을 했을 경우에 리턴.
301Moved Permanently임시 이동
해당 되는 페이지는 당분간 임시로 이동되었다. 언젠가는 원래대로 돌아옴
( 대개 웹브라우저에서 자동 처리됨 )
302Found기존 ) 영구적으로 이동
북마크,코드등을 새로운 페이지로 이동시켜야 한다.
( 대개 웹브라우저에서 자동 처리됨 )
400Bad Request잘못된 요청인경우. 필요한 값을 입력하지 않았다.
필요한 Param 혹은 body 값이 없다.
범위에 맞지 않는 요청을 하였다.
401Unauthorized로그인이 필요한 리소스에 로그인을 하지 않았다.
→ 로그인을 해야 한다.
403Forbidden로그인은 되어 있으나, 요청에 대한 권한이 없는경우.
예 ) 다른 회사의 리소스를 삭제,추가하려고 시도하거나,
일반 팀원이 팀장의 권한을
행사하려고 하는 경우.
404Not Found해당 리소스가 없다.
존재하지 않는 아이템에 엑세스 요청.
단, 경우에 따라 권한이 없어서 리소스가 없다고 표시될 수 있다. ( 보안상의 이유 )
405Method Not Allowed해당 요청에 지원되지 않는 Method 의 경우.
예 ) 해당 요청은 GET 밖에 지원하지 않는데, POST로 요청을 했을 경우
409Conflict이미 존재하는 리소스가 있어서 충돌할 경우.
429Too Many Requests짧은 시간동안 너무 많은 요청을 하였다.
500Internal Server Error서버 오류로 발생한 에러.
만나서는 안되는 에러.
즉시 서버 개발자에게 알려야 함.
502Bad Gateway일반적으로 NginX 의 설정을 실수를 했다.
서버 개발자에게 알려야 함. 이미 작업중일 수 있다.
503Service Unavailable일반적으로 로드밸런서 이슈.
그러나,백엔드 서버가 (과부하 혹은 오류로) 죽은 경우일수도 있음.
서버 개발자에게 알려야 함.
profile
차세대 생성형 AI 블로그 서비스 "두루미스"를 만들고 있는 개발자

0개의 댓글