IT/CS

개발하면서 자주 헷갈리는 HTTP 상태 코드 정리 – 면접에서 꼭 나오는 것만

바다, 2026. 1. 14. 15:55
반응형

HTTP 상태 코드 한 번에 정리 – 자주 쓰는 코드만 빠르게 보기

HTTP 상태 코드는
서버가 클라이언트의 요청을 어떻게 처리했는지를 알려주는 표준 응답 코드다.

개발을 하다 보면
모든 상태 코드를 외울 필요는 없고,
자주 사용하는 코드만 정확히 알고 있으면 충분하다.

이 글에서는
실무와 면접에서 가장 많이 나오는 HTTP 상태 코드만
빠르게 정리한다.


1. HTTP 상태 코드 분류

HTTP 상태 코드는 앞자리 숫자로 의미가 나뉜다.

범위 의미
2xx 요청 성공
3xx 리다이렉션
4xx 클라이언트 오류
5xx 서버 오류

2. 200번대 – 성공(Success)

200 OK

  • 요청이 정상적으로 처리됨
  • 가장 일반적인 성공 응답
GET /users → 200 OK

201 Created

  • 요청이 성공했고 새 리소스가 생성됨
  • POST 요청 성공 시 자주 사용
POST /users → 201 Created

204 No Content

  • 요청은 성공
  • 응답 본문 없음
DELETE /users/1 → 204 No Content

3. 300번대 – 리다이렉션(Redirection)

301 Moved Permanently

  • 리소스가 영구적으로 이동
  • SEO 관점에서 중요

302 Found

  • 리소스가 일시적으로 이동
  • 로그인 후 페이지 이동 등에 사용

4. 400번대 – 클라이언트 오류(Client Error)

400 Bad Request

  • 요청 자체가 잘못됨
  • 파라미터 누락, 형식 오류 등

401 Unauthorized

  • 인증되지 않음
  • 로그인 필요
토큰 없음 / 만료됨

403 Forbidden

  • 인증은 됐지만 권한 없음
일반 사용자가 관리자 API 접근

404 Not Found

  • 요청한 리소스를 찾을 수 없음

409 Conflict

  • 요청이 서버의 상태와 충돌
  • 중복 데이터, 비즈니스 충돌 상황
이미 존재하는 데이터 생성 시도

5. 500번대 – 서버 오류(Server Error)

500 Internal Server Error

  • 서버 내부 오류
  • 가장 일반적인 서버 에러

502 Bad Gateway

  • 게이트웨이 또는 프록시 서버 문제
  • Nginx ↔ WAS 통신 오류

503 Service Unavailable

  • 서버가 일시적으로 요청 처리 불가
  • 트래픽 과부하, 점검 중

6. 실무에서 자주 헷갈리는 포인트

401 vs 403 차이

  • 401: 인증 안 됨 (로그인 필요)
  • 403: 인증은 됐지만 권한 없음

200 vs 204 차이

  • 200: 응답 데이터 있음
  • 204: 성공했지만 응답 바디 없음

7. 면접에서 이렇게 물어본다

Q. 401과 403의 차이는?

401은 인증이 되지 않은 상태이고,
403은 인증은 되었지만 권한이 없는 상태입니다.


Q. POST 성공 시 어떤 상태 코드를 쓰나요?

새 리소스가 생성되면 201 Created를 사용합니다.


한 줄 요약

  • HTTP 상태 코드는 서버의 처리 결과를 표현하는 규약
  • 모든 코드를 외울 필요는 없고 자주 쓰는 것만 정확히 알면 충분
  • 상태 코드만 봐도 서버 상황을 유추할 수 있어야 한다
반응형