Continue
요청의 일부를 받았으며, 계속 요청해도 됨
Switching Protocols
프로토콜 전환 요청을 수락함
OK
요청 성공
Created
요청 성공, 새 리소스 생성됨
Accepted
요청 수락됨, 처리는 아직 완료되지 않음
No Content
요청 성공, 반환할 콘텐츠 없음
Partial Content
범위 요청 성공, 일부 콘텐츠 반환
Moved Permanently
리소스가 영구적으로 이동됨
Found
리소스가 임시로 이동됨
See Other
다른 URI로 요청해야 함 (GET)
Not Modified
캐시된 버전 사용 가능
Temporary Redirect
임시 리다이렉트 (메서드 유지)
Permanent Redirect
영구 리다이렉트 (메서드 유지)
Bad Request
잘못된 요청 구문
Unauthorized
인증 필요
Forbidden
접근 권한 없음
Not Found
리소스를 찾을 수 없음
Method Not Allowed
허용되지 않은 HTTP 메서드
Request Timeout
요청 시간 초과
Conflict
요청이 현재 상태와 충돌
Gone
리소스가 영구적으로 삭제됨
Payload Too Large
요청 본문이 너무 큼
URI Too Long
URI가 너무 김
Unsupported Media Type
지원하지 않는 미디어 타입
Unprocessable Entity
요청은 이해했으나 처리 불가
Too Many Requests
요청 횟수 초과 (Rate Limit)
Internal Server Error
서버 내부 오류
Not Implemented
요청한 기능을 지원하지 않음
Bad Gateway
게이트웨이가 잘못된 응답 받음
Service Unavailable
서비스 일시적 사용 불가
Gateway Timeout
게이트웨이 응답 시간 초과
🌐 HTTP 상태 코드란?
HTTP 상태 코드는 웹 서버가 클라이언트 요청에 대한 처리 결과를 알려주는 3자리 숫자입니다. RFC 7231 등 HTTP 표준에서 정의되며, 첫 번째 숫자로 응답의 성격을 나타냅니다. 1xx는 정보, 2xx는 성공, 3xx는 리다이렉션, 4xx는 클라이언트 오류, 5xx는 서버 오류를 의미합니다. 개발자는 이 코드를 통해 API 디버깅, 오류 처리, 로깅 등을 수행합니다.
📊 카테고리별 의미
요청 수신, 처리 계속
요청 정상 처리 완료
추가 작업 필요 (이동)
잘못된 요청
서버 처리 실패
💡 자주 만나는 상태 코드
- 200 OK - 요청 성공, 가장 일반적인 응답
- 201 Created - POST로 새 리소스 생성 성공
- 400 Bad Request - 요청 파라미터나 본문 오류
- 401/403 - 인증/권한 문제
- 404 Not Found - 리소스를 찾을 수 없음
- 500 Internal Server Error - 서버 내부 오류
자주 묻는 질문
401과 403의 차이는 무엇인가요?▼
401 Unauthorized는 인증이 필요하거나 실패한 경우(로그인 필요), 403 Forbidden은 인증은 되었지만 해당 리소스에 대한 권한이 없는 경우입니다.
302와 307의 차이는 무엇인가요?▼
302 Found는 역사적으로 브라우저가 POST를 GET으로 바꿔서 리다이렉트했지만, 307 Temporary Redirect는 원래 HTTP 메서드를 유지합니다.
커스텀 상태 코드를 만들 수 있나요?▼
가능하지만 권장하지 않습니다. 표준 코드를 사용하고, 상세 정보는 응답 본문에 포함하는 것이 좋습니다. 499(Nginx), 520-527(Cloudflare) 등 벤더별 확장 코드도 있습니다.