자주 사용되는 Http Status Code 정리
** 빨간색으로 표시한 코드는 자주사용되는 status 이다
- 1xx(Information) : 요청이 수신되어 처리중이며, 계속해서 프로세스를 진행한다.
- 최근에는 1xx 상태코드를 거의 사용하지 않는다.
- 2xx(Successful) : 요청을 성공적으로 수신했으며, 정상적으로 처리되었다.
- 3xx(Redirection) : 요청을 완료하려면 추가적인 행동(리소스)이 필요하다.
- 4xx(Client Error) : 클라이언트 오류, 잘못된 문법/요청 등으로 서버가요청을 수행할 수 없다.
- 5xx(Server Error) : 서버가 정상 요청을 처리하지 못함
2XX : Information
200 OK
요청이 성공적으로 완료되었으며, 정보를 함께 반환할 수 있다.
201 Created
요청에 성공해서 새로운 리소스가 생성되었다. (주로 회원가입과 같은 새로운 리소스 생성에 많이 사용한다.)
202 Accepted
요청이 접수 되었으나 아직 처리가 완료되지 않았다. (요청 접수 1시간 후 배치 프로세스가 요청을 처리하는 배치 처리에 주로 사용된다. ex)1시간 후 게시글 삭제 예약 )
204 No Content
요청을 성공적으로 수행했지만 응답 페이로드 본문에 보낼 데이터가 없음. 단, 리소스가 캐시된 헤더를 새로운 것으로 업데이트 할 수 있음.
ex) 웹 문서 편집기의 save 버튼 : sava버튼을 눌러도 화면상 아무런 변화는 없다. 결과 내용은 없지만 204 상태코드로 해당 작업의 성공을 인식시켜 줄 수 있다.
ex) 리소스의 삭제가 정상적으로 처리되었을 때 사용할 수 있다.
4XX : Client
400 Bad Reqeust
가장 많이 사용되는 4xx 에러로 요청 구문 또는 메시지 등의 오류가 있을 때 사용한다. 클라이언트는 요청 내용을 다시 검토후 보내야 한다.
401 Unauthorized
클라이언트가 해당 리소스에 대한 인증이 필요하다. 예를들어 로그인이 필요한 환경에 비로그인으로 접근했을 경우 발생시킬 수 있다.
응답에 WWW-Authenticate 헤더와 함께 인증 방법을 설명해서 보낼 수 있다.
403 Forbidden
서버가 요청을 이해 했지만 승인을 거부하는 경우 발생시킬 수 있다. 주로 인증은 완료되었지만, 접근 권한이 불충분한 경우로 예를들어 Admin등급이 아닌 사용자가 로그인(인증)은 완료했지만, Admin 등급 이상 접근 가능한 리소스에 접근했을 경우 발생한다.
404 Not Found
비 개발자도 알고있는 404 Error. 대부분 요청 리소스가 없을때 발생한다.
추가적으로 403과 같이 클라이언트가 권한이 부족한 리소스에 접근했을 경우 페이지를 숨기는 용도로도 가끔씩 사용한다.
409 Conflict
현재 서버의 상태와 충돌했을 때 사용한다. 정확한 정의는 존재하지 않지만, 닉네임이나 아이디 중복의 경우 이미 서버에 존재하는 리소스(닉네임/아이디)와 충돌해서 발생하는 중복 에러를 다루기도 한다.
410 Gone
일시적으로 사용하던 이벤트 페이지(지금은 종료된 이벤트)에 접근했을 때 해당 페이지는 영구적으로 삭제되었다고 알리는 역할을 할 수 있다. 404로 대체 가능해서 잘 사용하지 않는다.