http 2025-03-01
HTTP 상태 코드 이해하기: 완벽한 레퍼런스
HTTP 상태 코드의 의미, 사용 시기, 애플리케이션에서 처리하는 방법을 알아봅니다.
HTTP 상태 코드는 클라이언트의 요청 결과를 나타내기 위해 웹 서버가 반환하는 세 자리 숫자입니다.
상태 코드 카테고리
1xx - 정보
- 100 Continue: 서버가 헤더를 받았고, 클라이언트가 본문을 보내야 함
- 101 Switching Protocols: WebSocket 등으로 프로토콜 전환
2xx - 성공
- 200 OK: 표준 성공 응답
- 201 Created: 새 리소스가 생성됨
- 204 No Content: 성공했지만 반환할 콘텐츠 없음
3xx - 리다이렉션
- 301 Moved Permanently: 영구 이동 (SEO 친화적)
- 302 Found: 임시 리다이렉트
- 304 Not Modified: 캐시된 버전이 유효
4xx - 클라이언트 오류
- 400 Bad Request: 잘못된 요청 구문
- 401 Unauthorized: 인증 필요
- 403 Forbidden: 인증되었지만 권한 없음
- 404 Not Found: 리소스가 존재하지 않음
- 429 Too Many Requests: 속도 제한 초과
5xx - 서버 오류
- 500 Internal Server Error: 일반 서버 오류
- 502 Bad Gateway: 업스트림 서버의 잘못된 응답
- 503 Service Unavailable: 서버 과부하 또는 유지보수 중
API 설계 모범 사례
1. 리소스 생성에는 200이 아닌 201 사용
2. 본문 없는 성공적인 삭제에는 204 사용
3. 검증 오류에는 설명적 오류 메시지와 함께 400 사용
4. 401 vs 403 올바르게 사용: 401 = 미인증, 403 = 미인가
5. 속도 제한에는 Retry-After 헤더와 함께 429 사용
HTTP 상태 코드 레퍼런스 도구에서 전체 목록을 확인하세요.