T90 · 참고

HTTP 상태코드 사전

404, 502, 429… 숫자만 봐서는 무슨 뜻인지 알기 어렵습니다. 코드나 키워드로 검색하면 의미와 함께 어디부터 확인해야 하는지 알려줍니다.

2xx · 성공 요청이 정상 처리됨

  • 200

    OK 요청 성공.

    가장 흔한 정상 응답. GET·POST 모두 사용.

  • 201

    Created 리소스가 새로 만들어짐.

    POST로 생성에 성공했을 때. Location 헤더에 새 주소를 담는 것이 관례.

  • 204

    No Content 성공했지만 본문이 없음.

    DELETE 응답이나 저장만 하고 돌려줄 데이터가 없을 때.

  • 206

    Partial Content 일부 구간만 전송.

    동영상 스트리밍·이어받기(Range 요청)에서 사용.

3xx · 리다이렉션 다른 주소로 이동 필요

  • 301

    Moved Permanently 주소가 영구히 바뀜.

    도메인 이전·URL 구조 변경 시 사용. 검색엔진이 색인을 새 주소로 옮긴다.

  • 302

    Found 임시로 다른 주소.

    원래 주소를 그대로 유지할 때. SEO 관점에서는 301과 구분해서 써야 한다.

  • 304

    Not Modified 바뀐 게 없으니 캐시를 쓰라.

    브라우저 캐시가 최신일 때. 오류가 아니라 정상 동작.

  • 308

    Permanent Redirect 301과 같지만 메서드 유지.

    POST를 GET으로 바꾸지 않고 그대로 넘긴다.

4xx · 클라이언트 오류 요청 쪽에 문제가 있음

  • 400

    Bad Request 요청 형식이 잘못됨.

    필수 파라미터 누락, JSON 문법 오류 등. 먼저 요청 본문을 확인.

  • 401

    Unauthorized 로그인(인증)이 필요함.

    이름과 달리 "인증 안 됨"이라는 뜻. 토큰 만료가 흔한 원인.

  • 403

    Forbidden 로그인은 됐지만 권한 없음.

    401과 헷갈리기 쉬움. 파일 권한·IP 차단·CORS 설정도 원인이 된다.

  • 404

    Not Found 해당 주소에 아무것도 없음.

    오타·삭제된 페이지·잘못된 라우팅. 사이트라면 404 페이지를 따로 만들어 두는 편이 좋다.

  • 405

    Method Not Allowed 허용되지 않는 메서드.

    GET만 받는 곳에 POST를 보낸 경우 등.

  • 409

    Conflict 현재 상태와 충돌.

    중복 가입, 동시 수정 충돌 등.

  • 413

    Payload Too Large 보낸 데이터가 너무 큼.

    업로드 용량 제한. 서버·프록시 양쪽 설정을 함께 확인.

  • 422

    Unprocessable Content 형식은 맞지만 값이 유효하지 않음.

    유효성 검증 실패. 400 대신 쓰는 API가 많다.

  • 429

    Too Many Requests 요청이 너무 잦음.

    API 호출 제한(rate limit). Retry-After 헤더를 보고 기다렸다 재시도.

5xx · 서버 오류 서버 쪽에 문제가 있음

  • 500

    Internal Server Error 서버 내부에서 알 수 없는 오류.

    가장 막연한 오류. 서버 로그를 먼저 봐야 한다.

  • 502

    Bad Gateway 앞단 서버가 뒷단에서 이상한 응답을 받음.

    리버스 프록시(Nginx)와 앱 서버 사이 문제. 앱이 죽었는지부터 확인.

  • 503

    Service Unavailable 지금은 서비스할 수 없음.

    점검 중이거나 과부하. 일시적인 경우가 많다.

  • 504

    Gateway Timeout 뒷단 응답이 제한 시간 안에 안 옴.

    느린 쿼리·외부 API 지연이 흔한 원인.

빠르게 판단하는 법

  • 앞자리가 4면 보낸 쪽(브라우저·클라이언트 코드), 5면 받는 쪽(서버)을 먼저 의심하세요.
  • 401과 403은 다릅니다. 401은 "누구인지 모르겠다", 403은 "누구인지는 알지만 안 된다"입니다.
  • 404가 갑자기 늘었다면 리다이렉트(301) 설정이 빠졌는지 확인하세요.
  • 여기 실린 것은 실무에서 자주 만나는 코드들이며, 전체 목록은 RFC 9110에 정의돼 있습니다.