웹 개발이나 API 개발을 하다 보면 자연스럽게 HTTP 상태 코드를 볼 일이 많아집니다. 오늘은 HTTP 상태 코드 중 상대적으로 많이 보이는 상태 코드 위주로 알아봅시다. (100부터 500까지)
목차
1XX(Informational)
1XX는 서버가 요청을 받았으며 처리 중을 의미합니다. HTTP 1.1 버전부터 추가되었습니다. 1XX와 관련된 상세 코드는 아래와 같습니다.
- 100(Continue) : 처리가 되었으니 다음으로 진행
- 101(Switching Protocols) : 서버가 프로토콜을 전환 중
- 102(Processing) : 서버가 요청을 아직 처리 중이라 제대로 된 응답을 알려줄 수 없음
- 103(Early Hints) : 웹페이지에 필요한 리소스에 대한 힌트를 제공함
2XX(SUCCESS)
요청을 성공적으로 받아 정상 처리를 의미합니다. 자주 쓰이는 상세한 코드는 아래와 같습니다.
- 200(OK) : 요청 성공
- 201(Created) : 요청 성공해서 새로운 리소스가 생성됨
- 202(Accepted) : 요청이 접수되었으나 처리가 완료되지 않음
- 204(No Content) : 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음 (보통 삭제 시)
3XX(Redirection)
3XX는 Redirection을 의미하며, 이는 요청을 완료하려면 추가적인 작업이 필요함을 의미합니다. 관련 상세 코드는 아래와 같습니다.
- 301 (Moved Permanently) : 영구적으로 이동 (영구적 Redirection)
- 302 (Found) : 다른 URL에서 리소스를 찾음 (일시적 Redirection)
- 304 (Not Modified) : 리소스 복사본 상태가 수정되지 않아 최신 상태이므로 캐시를 이용 (특수 Redirection)
4XX(Client Error)
4XX는 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음을 의미합니다. 관련 상세 코드는 아래와 같습니다.
- 400(Bad Request) : 클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없음
- 401(Unauthorized) : 클라이언트가 해당 리소스에 대한 인증이 필요함
- 403(Forbidden) : 서버가 요청을 이해했지만 승인을 거부함
- 404(Not Found) : 요청 리소스를 찾을 수 없음
- 405(Method Not Allowed) : 현제 리소스에 맞지 않은 메서드를 사용했을 때
5XX(Server Error)
5XX는 서버 오류, 서버가 정상 요청을 처리하지 못함을 의미합니다. 관련 상세 코드는 아래와 같습니다.
- 500(Internal Server Error) : 서버 문제로 오류 발생
- 502(Bad Gateway) : 인터넷상의 서버가 다른 서버로부터 유효하지 않은 응답을 받을 때
- 503(Service Unavailable) : 서비스 이용 불가