개발자 면접 노트

HTTP 상태코드

해로몬 2025. 6. 25. 22:49

HTTP 상태 코드란?

HTTP 상태 코드는 클라이언트의 요청에 대한 서버의 응답 상태를 나타내는 숫자 코드이다.
총 5가지 범주(1xx~5xx)로 나뉘며, 각 코드의 앞자리 숫자가 의미하는 범주는 다음과 같다.


상태 코드 분류

범위 이름 설명
1xx 정보 응답 요청을 받았으며 처리를 계속함
2xx 성공 응답 요청이 정상적으로 처리됨
3xx 리다이렉션 추가 조치가 필요함 (다른 위치로 이동 등)
4xx 클라이언트 오류 클라이언트의 잘못된 요청
5xx 서버 오류 서버 내부 문제로 요청 실패
 

대표 상태 코드 상세 설명

🔸 1xx - 정보

  • 100 Continue
    요청의 일부가 전송되었으며 나머지를 계속 보내도 됨.

🔸 2xx - 성공

  • 200 OK
    가장 일반적인 성공 응답. GET, POST, PUT 등 다양한 요청에 사용된다.
  • 201 Created
    리소스가 성공적으로 생성됨. 주로 POST 요청 시 사용.
  • 204 No Content
    요청은 성공했지만 응답 본문은 없음. DELETE 요청 후 자주 사용됨.

→ 💡 "성공 응답"이라고 할 때, 가장 대표적인 코드는 200 OK이다.


🔸 3xx - 리다이렉션

  • 301 Moved Permanently
    요청한 리소스가 영구적으로 이동함.
  • 302 Found
    일시적으로 다른 위치에서 응답함.
  • 304 Not Modified
    캐시된 리소스가 그대로 사용 가능함.

🔸 4xx - 클라이언트 오류

  • 400 Bad Request
    잘못된 문법으로 인해 서버가 요청을 이해할 수 없음.
  • 401 Unauthorized
    인증이 필요함. (예: 로그인하지 않은 상태로 접근 시)
  • 403 Forbidden
    서버가 요청을 이해했지만 거부함. 권한 부족.
  • 404 Not Found
    요청한 리소스를 찾을 수 없음. (가장 자주 마주치는 오류 중 하나)

🔸 5xx - 서버 오류

  • 500 Internal Server Error
    서버 내부에서 처리 중 알 수 없는 에러 발생.
  • 502 Bad Gateway
    게이트웨이 또는 프록시 서버가 잘못된 응답을 받음.
  • 503 Service Unavailable
    서버가 일시적으로 요청을 처리할 수 없음. (예: 서버 점검 중)

💡 자주 묻는 질문 (FAQ)

Q. 200 OK는 언제 사용하나요?

요청이 성공적으로 처리된 경우 대부분의 HTTP 메서드에서 사용된다.
예:

  • GET 요청에 대한 정상 응답
  • PUT 요청으로 데이터 업데이트 완료 시
  • POST 요청이지만, 새로 생성된 리소스 정보가 응답에 포함되지 않을 때

Q. POST 요청 시 꼭 201을 써야 하나요?

반드시 그런 것은 아니다.
201은 리소스가 생성된 경우에 사용하는 것이 명확하지만, 일부 API에서는 200으로 응답하기도 한다.

RESTful API 설계 지침에서는 보통 201 사용을 권장한다.

 

'개발자 면접 노트' 카테고리의 다른 글

RDBMS에서 정규화란?  (0) 2025.06.26
RESTful API 설계의 핵심 원칙  (0) 2025.06.26
MVC 패턴  (0) 2025.06.25
Kotlin과 같은 등급은 Java인가 Spring인가?  (3) 2025.06.25
Spring - 의존성 주입(DI)의 종류  (0) 2025.06.25