이 글은 HTTP 응답 상태 코드에 대해 설명한다.
Client에서 Server에 HTTP request를 보내면, Server는 HTTP 응답 상태 코드(HTTP response status code)를 이용해 요청이 성공적으로 완료되었는지를 알려준다.
응답 코드는 다음과 같은 5개의 그룹으로 나눌 수 있다.
- 100번대(100 ~ 199) - 정보 전송(Information)
- 200번대(200 ~ 299) - 성공(Success)
- 300번대(300 ~ 399) - 리다이렉션(Redirection)
- 400번대(400 ~ 499) - 클라이언트 오류(Client error)
- 500번대(500 ~ 599) - 서버 오류(Server error)
100번대 - 정보 전송(Information)
100번대 코드는 서버가 요청을 받아 프로토콜 전환 등의 처리를 계속 하고 있음을 나타낸다.
200번대 - 성공(Success)
200번대 코드는 클라이언트가 보낸 요청이 정상적으로 처리되었음을 나타낸다.
- 200: OK(요청 성공)
- 201: Created(PUT 메소드에 의해 파일이 서버에 생성됨)
- 202: Accepted(요청 수락됨)
- 204: No content(바디에 데이터 없음)
300번대 - 리다이렉션(Redirection)
300번대 코드는 요청을 처리하기 위해 클라이언트가 다른 URL로 이동해야 함을 나타낸다.
400번대 - 클라이언트 오류(Client error)
400번대 코드는 클라이언트의 요청에 문제가 있어 요청을 처리할 수 없음(오류 발생)을 나타낸다.
- 400: Bad request(요청 메시지의 문법 오류)
- 401: Unauthorized(요청 메시지에 대한 인증 오류)
- 403: Forbidden(요청에 의한 접근 차단)
- 404: Not found(요청한 자료가 존재하지 않음)
500번대 - 서버 오류(Server error)
500번대 코드는 서버 측에서 오류가 발생하여 요청을 처리할 수 없음을 나타낸다.
- 500: Internal server error(서버 내부에 오류 발생)
- 501: Not implemented(요청된 메소드를 수행할 수 없음)
- 503: Service unavailable(잠시동안 서비스 사용 불가)