컴퓨터 과학/네트워크

HTTP 상태 코드 완벽 정리

Data Jun 2025. 10. 5. 11:19

웹 개발이나 API를 다루다 보면, 요청(Request)과 응답(Response) 사이에서 “HTTP 상태 코드”를 자주 만나게 됩니다.
이번 글에서는 HTTP 상태 코드의 구조와 주요 코드(200, 300, 400번대 등)를 이미지와 함께 정리해보겠습니다.

 

 

1. HTTP 상태 코드란?

 

HTTP 상태 코드는 요청에 대한 결과를 나타내는 세 자리 숫자입니다.
각 코드의 백의 자리 수에 따라 응답의 성격이 달라집니다.

구분 범위 의미
100번대 100~199 정보성 상태 코드
200번대 200~299 성공 상태 코드
300번대 300~399 리다이렉션 상태 코드
400번대 400~499 클라이언트 에러 상태 코드
500번대 500~599 서버 에러 상태 코드

 

 

2. 200번대: 성공 상태 코드

요청이 정상적으로 처리되었음을 의미합니다.
즉, 클라이언트가 요청한 작업이 성공적으로 완료되었을 때 사용됩니다.

상태코드 이유 구문
200 OK 요청이 성공했음
201 Created 요청이 성공했고, 새로운 자원이 생성됨
202 Accepted 요청을 수락했지만 아직 처리가 완료되지 않음
204 No Content 요청은 성공했지만 응답 본문에 보낼 데이터가 없

 

 

3. 300번대: 리다이렉션 상태 코드

리다이렉션(redirection)이란

요청을 완료하기 위해 추가적인 조치가 필요한 상태를 의미합니다.
즉, 클라이언트가 요청한 자원이 다른 위치로 이동되었을 때, 해당 위치로 요청을 재전송하도록 지시하는 응답 코드입니다.

 

리다이렉션 예시

301 Moved Permanently 응답을 통해
기존 경로(/old)에 있던 자원이 /new로 이동했음을 알려주는 과정입니다.

  1. 클라이언트가 /old로 요청을 보냄
  2. 서버가 301 응답과 함께 새 위치(/new)를 전달
  3. 클라이언트가 /new로 다시 요청을 보내고
  4. 200 OK 응답을 받음

 

4. 400번대: 클라이언트 에러 상태 코드

클라이언트의 요청이 잘못되었을 때 발생하는 코드입니다.
즉, 요청한 데이터나 권한이 잘못된 경우 서버가 이 범위의 코드를 반환합니다.

상태 코드 이유 구문
400 Bad Request 요청이 잘못됨
401 Unauthorized  인증이 필요함
403 Forbidden 서버가 요청을 거부 (접근 권한 없음)
404 Not Found 요청한 자원을 찾을 수 없음
405 Method Not Allowed 요청한 메서드를 지원하지 않

 

 

 

정리하면

 

HTTP 상태 코드는 단순한 숫자 이상의 의미를 가집니다.
웹 개발자나 데이터 분석가에게는 요청과 응답의 흐름을 이해하는 기초 언어이기도 합니다.