우리가 REST API를 개발하면서 서버가 올바르게 동작하는지 테스트할때 HTTP URI, HTTP Method를 이용해 서버에 요청을 하게 된다.
여기서 여러가지 상태코드를 받게 되는데, 스프링부트뿐만이 아니라 웹 표준으로 정해져있는 코드이기때문에 대부분 동일하게 사용한다.
100 Continue: 클라이언트가 요청을 계속할 것을 나타낸다.
101 Switching Protocols: 서버가 프로토콜 전환 요청을 수락했음을 나타낸다.
200 OK: 요청이 성공적으로 처리되었음을 나타낸다.
201 Created: 요청이 성공적으로 처리되었으며, 새로운 리소스가 생성되었음을 나타낸다.
204 No Content: 요청은 성공적으로 처리되었지만, 응답 본문에 보낼 데이터가 없음을 나타낸다.
301 Moved Permanently: 요청한 리소스가 영구적으로 다른 URL로 이동했음을 나타낸다.
302 Found: 요청한 리소스가 임시적으로 다른 URL로 이동했음을 나타낸다.
304 Not Modified: 리소스가 수정되지 않았음을 나타내며,
클라이언트는 캐시된 버전을 사용해야 함을 나타낸다.
400 Bad Request: 서버가 요청을 이해할 수 없음을 나타낸다.
401 Unauthorized: 인증이 필요함을 나타낸다.
403 Forbidden: 서버가 요청을 거부했음을 나타낸다.
404 Not Found: 요청한 리소스를 찾을 수 없음을 나타낸다.
500 Internal Server Error: 서버에서 예기치 않은 상황이 발생했음을 나타낸다.
501 Not Implemented: 서버가 요청된 기능을 지원하지 않음을 나타낸다.
503 Service Unavailable: 서버가 일시적으로 요청을 처리할 수 없음을 나타낸다.
여기서 우리가 주로 만나게 되는 코드는 200, 400이다.
200은 요청에 대한 통신, 작업이 성공적으로 이루어졌다는 것이고,
200은 요청이 올바르지 않거나, 불명확해서 통신 및 작업이 실패했다는 것이다.
백엔드에서는 성공 및 실패 요청에 대해 Handler라는 것을 만들어 관리할 수 있다.