📡 “404야, 내 마음도 Not Found다...”
✅ HTTP 상태코드란?
서버가 클라이언트의 요청에 대해 어떤 결과를 돌려줬는지 알려주는 숫자 코드입니다.
예를 들어...
- "응, 잘 받았어!" → 200 OK
- "어..? 너 누구?" → 401 Unauthorized
- "뭐라는 거야?" → 400 Bad Request
🎯 상태코드는 크게 5가지로 나뉩니다
범위의미예시
| 1xx |
정보 |
거의 안 씀 |
| 2xx |
성공 |
200, 201, 204 |
| 3xx |
리다이렉트 |
301, 302, 304 |
| 4xx |
클라이언트 에러 |
400, 401, 403, 404 |
| 5xx |
서버 에러 |
500, 502, 503, 504 |
🔵 2xx: 성공했어요!
코드의미설명
| 200 OK |
정상 처리 완료 |
제일 자주 보는 성공 코드 |
| 201 Created |
생성됨 |
POST로 새 리소스 생성 시 |
| 204 No Content |
응답 본문 없음 |
처리는 됐지만 줄 말은 없음 |
🟡 3xx: 어이쿠! 이리로 와요~
코드의미설명
| 301 Moved Permanently |
영구 이동 |
브라우저 캐싱까지 함 |
| 302 Found |
임시 이동 |
예전에는 흔히 사용했음 |
| 304 Not Modified |
변경 없음 |
캐시 덕에 통신량 절약~ |
🔴 4xx: 너가 잘못했어 (Client Error)
코드의미설명
| 400 Bad Request |
요청이 이상해요 |
문법 오류, 파라미터 실수 등 |
| 401 Unauthorized |
인증 필요해요 |
토큰 없어! 로그인 먼저! |
| 403 Forbidden |
권한 없어 |
있어도 안돼요 ❌ |
| 404 Not Found |
찾을 수 없어요 |
페이지 없어… 내 인생도... |
⚫ 5xx: 서버가 잘못했어요 (Server Error)
코드의미설명
| 500 Internal Server Error |
서버가 터졌어요 💥 |
대표적인 오류 코드 |
| 502 Bad Gateway |
게이트웨이 문제 |
보통 nginx랑 친함 |
| 503 Service Unavailable |
잠시만요~ |
서버 과부하, 점검 중 |
| 504 Gateway Timeout |
응답 없어요 |
서버가 너무 느림... zzz |
😂 코드별 상황극 예시
[404 Not Found]
👉 너 걔 봤어?
👤 누구?
👉 내 미래.
[403 Forbidden]
👉 사장님, 이 폴더 좀 볼게요.
👤 ...너 권한 없어. 꺼져.
🔐 상태코드, 실무에선 이렇게 써요!
- API 응답에 반드시 상태코드 명확히 반환
- 정상 처리: 200 또는 201
- 예외 처리: 400, 401, 403, 500 등 구분
- 프론트와 협업 시 명확한 상태 정의 문서 공유 필요