HTTP 상태 코드
HTTP 상태 코드는 클라이언트가 보낸 HTTP 요청에 대한 서버의 응답 코드로, 상태 코드에 따라 성공/실패를 판단한다.
HTTP 상태코드는 3자리 숫자로 만들어져 있으며, 첫번째 자리로 크게 분류할 수 있다.
첫번째 자리로는 1부터 5까지 있으며 보통 개발자가 많이 보는건 4와 5다.
숫자별 HTTP 상태 코드 분류
1xx(정보) - 요청을 받았으며 프로세스를 계속 진행합니다.
2xx(성공) - 요청을 성공적으로 받았으며 인식했고 수용했습니다.
3xx(리다이렉션) - 요청 완료를 위해 추가 작업 조치가 필요합니다.
4xx(클라이언트 오류) - HTTP 요청의 문법이 잘못되었거나 요청을 처리할 수 없습니다.
5xx(서버 오류) - 서버가 명백히 유효한 요청에 대해 충족을 실패했습니다.
4XX - HTTP 요청 문법 오류 및 요청 처리 불가능
400 Bad Request
: 400 요청 실패 에러는 잘못된 문법으로 인하여 서버가 요청을 이해할 수 없음을 의미한다.
: 클라이언트의 올바르지 못한 요청으로 인해 서버가 요청을 이해할 수 없음을 의미한다.
401 Unauthorized
: 비록 HTTP 표준에서는 "미승인(Unauthorized)"를 명확히 하고 있지만, 의미상 이 응답은 "비인증(Unauthenticated)"를
의미합니다.
: 인증되지 않은 사용자가 인증이 필요한 리소스를 요청하는 경우의 응답입니다. 보통 로그인이 필요한 API를 비로그인
클라이언트가 요청했을 경우 응답한다.
403 Forbidden
: 요청한 클라이언트가 컨텐츠에 접근할 권한을 가지고 있지 않음을 의미한다. 401 에러와 다른점은 서버가
요청한 클라이언트는 누군지 알고 있습니다. 보통 특정 IP나 컨텐츠별 권한이 나누어져 있는 경우 나타난다.
404 Not Found
: 요청한 리소스를 찾을 수 없음을 의미한다. 서버에게 요청은 잘 갔으나 올바르지 않은 URL 요청을 했을경우 나타난다.
: 서버들은 인증받지 않은 클라이언트로부터 리소스를 숨기기 위해 403 에러 대신 404 에러를 보내기도 한다.
5XX - 서버 에러
500 Internal Server Error
: 서버에 오류가 발생하여 응답할 수 없음을 의미한다. 서버는 오류가 발생했으나 처리 방법을 알 수 없을 경우의 응답이다.
503 Service Unavailable
: 서버가 요청을 처리할 준비가 되지 않았다. 일반적인 원인은 유지보수를 위해 작동이 중단되거나 과부하가 걸린 서버 응답이다.