본문 바로가기
Tech Notes

HTTP 에러 코드 정리

by miracle-tech 2025. 9. 25.
728x90
반응형

🚨 HTTP 상태 코드 에러 핸들링 가이드

개발할 때 자주 사용하는 HTTP 상태 코드와 에러 클래스 매핑 정리! 📝

 

 

사진: Unsplash 의 visuals

🔍 HTTP 상태 코드 정리

1xx - 정보 (Informational)

 코드 이름  설명  
100 Continue 계속 진행해도 됨
101 Switching Protocols 프로토콜 전환

2xx - 성공 (Success)

코드 이름  설명 사용시점
200 OK 성공 일반적인 성공 응답
201 Created 생성됨 POST로 리소스 생성
204 No Content 내용 없음 DELETE 성공

3xx - 리다이렉트 (Redirection)

코드 이름  설명   사용시점
301 Moved Permanently 영구 이동 URL 영구 변경
302 Found 임시 이동 URL 임시 변경
304 Not Modified 변경 없음 캐시 사용

4xx - 클라이언트 에러 (Client Error)                         

코드 이름  설명 사용시점
400 Bad Request 잘못된 요청( "니가 보낸 거 틀렸어") 입력값 검증 실패
401 Unauthorized 인증 필요( "너 누구야?") 로그인 안 됨, 토큰 만료
403 Forbidden 접근 금지( "누군지는 알겠는데, 권한 없어") 권한 없음
404 Not Found 찾을 수 없음 리소스 없음
405 Method Not Allowed 메서드 불허 허용 안 된 HTTP 메서드
408 Request Timeout 요청 시간 초과 처리 시간 초과
409 Conflict 충돌 데이터 중복
422 Unprocessable Entity 처리 불가 의미상 오류
429 Too Many Requests 요청 과다("야, 그만불러") API 한도 초과

5xx - 서버 에러 (Server Error)

 

코드 이름 설명 사용시점
500 Internal Server Error 서버 내부 오류( "니 잘못 아니야, 서버 문제야") 예상치 못한 에러
502 Bad Gateway 게이트웨이 오류 외부 API 연결 실패
503 Service Unavailable 서비스 이용 불가 서버 점검, 과부하
504 Gateway Timeout 게이트웨이 시간 초과 외부 API 타임아웃

 

 

 

 ✅ throw 해야 할 때

  - 상위 컴포넌트가 에러를 알아야 할 때
  - 전역 에러 핸들러가 있을 때
  - 로깅 시스템에 기록해야 할 때

  ❌ throw 하지 말아야 할 때

  - 이미 여기서 완전히 처리했을 때 (alert 띄웠으면 끝)
  - 상위에서 처리할 필요 없을 때

 

💁‍♂️ Tip: 프론트엔드에서 이 매핑표를 활용해 사용자 친화적인 에러 메시지를 보여주세요!

728x90