클라이언트가 서버로 요청했을때 서버에서 그 결과가 어떻게 처리되었는 지를 알려주는 것이 Status Codes의 역할이다. 이를 통해서 서버가 요청을 정상적으로 처리했는지 아니면 에러가 발생했는지를 클라이언트에서 알 수 있다.
HTTP 명세에 따르면, 상태 코드는 3자리 숫자와 그에 대한 설명을 나타내는데 팀 내부적으로 3자리 이상의 숫자를 커스텀하게 사용할 수도 있다.
아래는 HTTP 명세 표준을 나타낸 것인데, 3자리 숫자 중 첫 번째 자리의 숫자로 의미를 구분한다.
그럼 각 클래스 별로 대표적인 상태 코드를 하나씩 살펴보자.
2XX 상태 코드는 서버가 요청을 정상적으로 처리했다는 것을 의미한다.
클라이언트가 보낸 요청을 서버가 정상 처리했다는 것을 나타내고, 요청 메소드에 따라 응답 본문은 달라진다.
예를 들어, GET 메소드 경우에는 요청에 대응하는 엔티티가 응답으로 보내진다.
204 상태 코드는 서버가 요청을 정상적으로 처리했지만 응답 메시지에 Entity Body를 포함하지 않는다는 것을 의미한다.
204 상태 코드는 클라이언트에 보낼 새로운 정보가 없을 경우에 사용된다.
206 상태 코드는 Range 헤더를 가진 GET 요청을 받았다는 것을 의미함과 동시에, Range 헤더에 의해서 지정된 범위에 해당하는 리소스를 Entity Body로 응답했다는 것을 의미한다.