REFERENCEAPIHTTP
HTTP 상태 코드 사전
1xx~5xx의 모든 표준 HTTP 상태 코드 상세 설명 및 백엔드 개발자 실무 베스트 가이드를 제공합니다.
100
Continue서버가 요청 헤더를 수신했으며 클라이언트가 요청 본문을 계속 전송해야 함을 나타냅니다.
101
Switching Protocols클라이언트가 요청한 프로토콜 전환 요구를 서버가 수락하여 프로토콜을 변경 중임을 의미합니다.
102
Processing서버가 요청을 수신하여 처리 중이나 아직 완전한 응답을 줄 수 없음을 알립니다.
103
Early Hints서버가 최종 응답을 준비하는 동안 클라이언트가 리소스를 미리 로드(Preload)할 수 있도록 힌트를 제공합니다.
200
OK요청이 성공적으로 처리되었습니다. 정보가 응답 본문에 반환됩니다.
201
Created요청이 성공적이었으며, 그 결과로 새로운 리소스가 생성되었습니다.
202
Accepted요청을 접수하였으나 아직 처리가 완료되지 않았습니다.
204
No Content요청이 성공했으나 응답 본문(Body)에 보낼 데이터가 없습니다.
206
Partial Content클라이언트가 요청한 범위(Range) 헤더에 따라 리소스의 일부분만 전송합니다.
301
Moved Permanently요청한 리소스의 URI가 영구적으로 새 주소로 변경되었습니다.
302
Found (Moved Temporarily)요청한 리소스가 임시적으로 다른 URI에 있음을 의미합니다.
304
Not Modified리소스가 마지막 요청 이후 변경되지 않았으므로 캐시된 버전을 그대로 사용할 수 있습니다.
307
Temporary Redirect리소스가 임시적으로 위치를 옮겼으며, 클라이언트는 원래의 HTTP 메서드(POST 등)를 변경 없이 유지해야 합니다.
308
Permanent Redirect리소스가 영구적으로 이전되었으며, 원래의 HTTP 메서드를 변경 없이 유지하여 다시 요청해야 합니다.
400
Bad Request잘못된 문법, 유효하지 않은 포맷 등 클라이언트의 요청이 부적절하여 서버가 처리할 수 없습니다.
401
Unauthorized인증 정보(Access Token, Session)가 누락되었거나 유효하지 않아 리소스에 접근할 수 없습니다.
403
Forbidden클라이언트가 누구인지는 알지만(인증 완료), 해당 권한으로는 이 리소스에 접근할 권리가 없습니다.
404
Not Found요청한 URI를 서버에서 찾을 수 없습니다. 경로가 잘못되었거나 존재하지 않는 데이터입니다.
405
Method Not Allowed요청한 리소스가 해당 HTTP Method(GET, POST 등)의 요청을 지원하지 않습니다.
408
Request Timeout서버가 정해진 시간 내에 클라이언트의 전체 요청 내용을 수신하지 못하고 대기 시간이 만료되었습니다.
409
Conflict서버의 현재 상태와 충돌이 발생했습니다. 주로 중복 데이터 등록 시 발생합니다.
410
Gone요청 리소스가 영구적으로 삭제되었으며 새 위치도 알 수 없습니다. (404보다 강력한 삭제 정보)
413
Payload Too Large요청 본문의 크기가 서버가 허용하는 최대 제한 한도를 초과했습니다.
415
Unsupported Media Type요청 페이로드의 미디어 포맷(Content-Type)을 서버가 처리할 수 없습니다.
422
Unprocessable Entity요청 문법은 올바르나, 논리적 오류로 인해 명령을 처리할 수 없습니다.
429
Too Many Requests클라이언트가 짧은 시간 내에 너무 많은 요청을 보냈습니다. (디도스 방지 및 API 사용량 제한)
500
Internal Server Error서버 내부에서 예상치 못한 오류가 발생하여 요청을 완료할 수 없습니다.
501
Not Implemented서버가 요청을 완료하는 데 필요한 기능을 지원하지 않습니다. (아직 구현되지 않은 엔드포인트)
502
Bad Gateway서버가 게이트웨이 또는 프록시 역할을 수행 중, 업스트림 서버로부터 잘못된 응답을 받았습니다.
503
Service Unavailable서버가 일시적인 서버 점검이나 과부하 등으로 인해 요청을 처리할 수 없습니다.
504
Gateway Timeout게이트웨이/프록시 서버가 요청을 처리하는 데 필요한 업스트림 서버의 응답을 제한 시간 내에 받지 못했습니다.
200
OK
2xx Success (성공)설명 (Korean)
요청이 성공적으로 처리되었습니다. 정보가 응답 본문에 반환됩니다.
Description (English)
The request has succeeded. The information returned with the response depends on the method.
실무 개발 가이드 (Best Practice)
일반적인 GET, PUT, POST 성공 시 가장 보편적으로 사용합니다. 빈 응답이 아닌 결과 데이터가 존재할 때 적합합니다.
The most common success code. Standard response for successful GET, PUT, or POST requests returning data.
도구 설명 및 사용 방법
1xx부터 5xx까지 모든 표준 HTTP 상태 코드 사전을 실시간 검색하여, API 개발 가이드 및 모범 실무 활용 예시를 빠르게 대조 열람할 수 있는 레퍼런스 가이드입니다. 백엔드 개발자의 필수 참고서입니다.
사용 단계
1
검색란에 상태 코드 번호(예: 403) 또는 키워드(예: 권한)를 적어 바로 조회합니다.
2
1xx ~ 5xx 퀵 탭 필터링을 눌러 특정 오류 그룹들만 모아서 간편하게 탐색합니다.
3
상태 카드 목록에서 타겟 코드를 선택하면 우측 정보창에 상세 한글/영문 가이드라인이 표시됩니다.
4
코드 이름의 퀵 복사 단추나 하단 MDN 연동 링크를 통해 공식 스펙을 추가로 숙지합니다.
작동 원리 및 상세 설명
HTTP 상태 코드는 RFC 7231, RFC 6585 등 여러 표준 문서에 정의되어 있으며, 1xx(정보), 2xx(성공), 3xx(리다이렉션), 4xx(클라이언트 오류), 5xx(서버 오류)로 크게 분류됩니다. 각 코드는 클라이언트와 서버 간의 상태를 명확히 전달하는 의미론적 신호로, 제대로 활용하면 API의 사용성과 디버깅 효율이 크게 향상됩니다.
실무에서는 단순히 "200 OK"와 "500 Internal Server Error"만 사용하는 것이 아니라, 201, 204, 400, 401, 403, 404, 409, 422, 429 등 상황에 맞는 코드를 정확히 사용하는 것이 중요합니다. 이 도구는 각 코드의 의미, 일반적인 원인, 권장 대응 가이드, MDN 레퍼런스를 함께 제공합니다.
모든 내용이 정적 데이터로 브라우저에 로드되므로, 검색이나 선택 시 외부 통신이 전혀 발생하지 않습니다.
자주 묻는 질문 (FAQ)
401과 403의 차이는 정확히 무엇인가요?
401 Unauthorized는 "인증(Authentication)"이 필요하다는 의미입니다. 클라이언트가 누구인지 증명하지 못한 상태입니다. 403 Forbidden은 "인가(Authorization)"가 거부된 상태로, 인증은 되었으나 해당 리소스에 대한 권한이 없음을 의미합니다.
429 Too Many Requests는 어떻게 대응해야 하나요?
클라이언트가 너무 많은 요청을 보냈다는 의미입니다. Retry-After 헤더가 있으면 그 시간만큼 대기한 후 재시도하고, 지수 백오프(exponential backoff) 전략을 사용하는 것이 일반적입니다. 서버 측에서는 rate limiting 미들웨어를 통해 적절한 제한을 걸어야 합니다.
상태 코드 설명이 외부로 전송되나요?
전송되지 않습니다. 이 도구는 정적 레퍼런스 데이터만 사용하며, 검색이나 선택 동작이 외부와 통신하지 않습니다. 내부 API 가이드라인 문서도 안전하게 참고할 수 있습니다.
코드 사용 예시
API 에러 핸들링 시 상태 코드별 처리
javascript
// 클라이언트에서 HTTP 상태에 따른 분기 처리
const res = await fetch('/api/resource');
if (res.status === 401) {
// 인증 필요 → 로그인 페이지로 이동
redirectToLogin();
} else if (res.status === 403) {
// 권한 없음 → 안내 메시지
showError('접근 권한이 없습니다.');
} else if (res.status === 429) {
// Rate limit → 재시도 대기
const retryAfter = res.headers.get('Retry-After');
await sleep((retryAfter ? parseInt(retryAfter) : 1) * 1000);
}실제 API 클라이언트 코드에서 상태 코드에 따라 다른 복구 전략을 취하는 전형적인 패턴입니다. 이 도구의 가이드라인을 참고하여 적절한 처리를 구현하세요.