기타
상황별로 정리한 HTTP 상태 코드 표
ipxy
2025. 4. 17. 07:18
728x90
✅ 1xx: 정보 응답 (Informational)
상황 | 상태코드 | 의미 |
요청을 받았고 처리 중임 | 100 | Continue |
전환 프로토콜 제안 (업그레이드) | 101 | Switching Protocols |
🟢 2xx: 성공 응답 (Success)
상황 | 상태코드 | 의미 |
요청 성공, 리소스 있음 | 200 | OK |
새 리소스 생성됨 (POST/PUT) | 201 | Created |
요청은 성공했으나 응답 본문 없음 | 204 | No Content |
클라이언트가 보낸 헤더 조건 충족 | 206 | Partial Content (Range 요청에 사용) |
🟡 3xx: 리디렉션 (Redirection)
상황 상태코드 의미
의미 | ||
리소스가 임시로 다른 URI에 있음 | 302 | Found (Temporary Redirect) |
리소스가 영구적으로 이동됨 | 301 | Moved Permanently |
캐시된 콘텐츠 사용 가능 | 304 | Not Modified |
🔴 4xx: 클라이언트 오류 (Client Error)
상황 상태코드 의미
의미 | ||
잘못된 요청 (문법 오류, 파라미터 오류 등) | 400 | Bad Request |
인증이 필요함 | 401 | Unauthorized |
권한이 없거나 접근 금지됨 | 403 | Forbidden |
요청한 리소스를 찾을 수 없음 | 404 | Not Found |
허용되지 않은 메서드 사용 | 405 | Method Not Allowed |
요청 본문이 너무 큼 | 413 | Payload Too Large |
URI가 너무 김 | 414 | URI Too Long |
미디어 타입을 처리할 수 없음 | 415 | Unsupported Media Type |
클라이언트 요청이 너무 많음 (Rate Limiting) | 429 | Too Many Requests |
🔥 5xx: 서버 오류 (Server Error)
상황 상태코드 의미
의미 | ||
서버 내부 오류 (예외 발생 등) | 500 | Internal Server Error |
구현되지 않은 기능 요청 | 501 | Not Implemented |
백엔드 서버와 통신 불가 | 502 | Bad Gateway |
게이트웨이 시간 초과 | 504 | Gateway Timeout |
서비스 일시 중지 또는 유지보수 중 | 503 | Service Unavailable |
📌 상황별 추천 사용 예시
상황 | 추천 상태코드 |
로그인 실패 (아이디/비번 틀림) | 401 |
로그인 했지만 접근 권한 없음 | 403 |
데이터 저장 성공 (POST) | 201 |
데이터 수정 성공 (PUT/PATCH) | 200 또는 204 |
삭제 성공 (DELETE) | 204 |
잘못된 입력값 (필드 누락 등) | 400 |
요청한 리소스 없음 (ID 잘못됨 등) | 404 |
서버 처리 중 에러 발생 | 500 |
너무 많은 요청 (API 제한 초과) | 429 |
✅ [요청 처리 성공]
상황 | 상태코드 | 설명 |
일반적인 처리 성공 | 200 OK | 가장 흔한 성공 응답 |
리소스 생성 (POST 등) | 201 Created | 새 리소스가 생성됨 |
처리 성공, 응답 본문 없음 | 204 No Content | DELETE 등에서 자주 사용 |
범위 요청 응답 (파일 일부) | 206 Partial Content | Range 요청 처리 시 사용 |
🔐 [인증 및 권한 오류]
상황 | 상태코드 | 설명 |
인증 실패 (로그인 필요) | 401 Unauthorized | 토큰 없음, 만료 등 |
권한 없음 (인증은 됐지만 거부됨) | 403 Forbidden | 접근 권한 없음 |
❌ [클라이언트 요청 오류]
상황 | 상태코드 | 설명 |
요청 자체에 문제가 있음 | 400 Bad Request | 유효성 실패, JSON 파싱 오류 등 |
요청 리소스 없음 | 404 Not Found | ID 잘못됨, URL 오타 등 |
지원하지 않는 HTTP 메서드 | 405 Method Not Allowed | GET 대신 POST 요청 등 |
콘텐츠 타입 미지원 | 415 Unsupported Media Type | 예: XML 보낼 때 JSON만 지원 시 |
요청이 너무 큼 | 413 Payload Too Large | 파일 업로드 초과 등 |
너무 많은 요청 (속도 제한) | 429 Too Many Requests | Rate Limit 초과 |
🔁 [리다이렉션 관련]
상황 | 상태코드 | 설명 |
리소스가 새 위치로 이동 | 301 Moved Permanently | 영구 이동 |
임시 이동 (로그인 후 리다이렉트 등) | 302 Found | 일시적 이동 |
클라이언트 캐시 활용 가능 | 304 Not Modified | 조건부 요청 시 사용 |
🔥 [서버 오류]
상황 | 상태코드 | 설명 |
서버 내부 처리 오류 | 500 Internal Server Error | 예상치 못한 서버 오류 |
구현되지 않은 기능 요청 | 501 Not Implemented | 미지원 기능 호출 |
게이트웨이 또는 프록시 오류 | 502 Bad Gateway | 백엔드 서버로부터 잘못된 응답 수신 |
서버가 과부하 또는 점검 중 | 503 Service Unavailable | 일시적 장애 또는 유지보수 중 |
백엔드 응답 시간 초과 | 504 Gateway Timeout | 프록시, 로드밸런서에서 발생 가능 |
📦 [RESTful API 기준 추천 매핑 요약]
동작 | 상태코드 | 설명 |
GET | 200 / 404 | 정상 또는 미존재 |
POST | 201 / 400 | 생성 또는 입력 오류 |
PUT/PATCH | 200 / 204 / 400 | 수정 완료 또는 오류 |
DELETE | 204 / 404 | 삭제 완료 또는 미존재 |
인증요구 | 401 / 403 | 로그인 필요 또는 접근 불가 |
서버문제 | 500~504 | 예외, 과부하, 연결 실패 등 |
728x90