HTTP 상태 코드 목록
IANA 등록 63개 코드의 뜻·정의 문서·기본 캐시 여부
1xx 정보 (4개)
요청을 받았고 처리를 계속한다는 중간 응답
| 코드 | 이름 | 한국어 | 정의 | 기본 캐시 |
|---|---|---|---|---|
| 100 | Continue | 계속 | RFC 9110 §15.2.1 | - |
| 101 | Switching Protocols | 프로토콜 전환 | RFC 9110 §15.2.2 | - |
| 102 | Processing | 처리 중 | RFC 2518 | - |
| 103 | Early Hints | 미리 알림 | RFC 8297 | - |
2xx 성공 (10개)
요청을 받아 이해하고 처리했다는 응답
| 코드 | 이름 | 한국어 | 정의 | 기본 캐시 |
|---|---|---|---|---|
| 200 | OK | 성공 | RFC 9110 §15.3.1 | 가능 |
| 201 | Created | 생성됨 | RFC 9110 §15.3.2 | - |
| 202 | Accepted | 접수됨 | RFC 9110 §15.3.3 | - |
| 203 | Non-Authoritative Information | 비공식 정보 | RFC 9110 §15.3.4 | 가능 |
| 204 | No Content | 내용 없음 | RFC 9110 §15.3.5 | 가능 |
| 205 | Reset Content | 화면 초기화 | RFC 9110 §15.3.6 | - |
| 206 | Partial Content | 부분 내용 | RFC 9110 §15.3.7 | 가능 |
| 207 | Multi-Status | 여러 상태 | RFC 4918 | - |
| 208 | Already Reported | 이미 보고됨 | RFC 5842 | - |
| 226 | IM Used | 인스턴스 조작 적용 | RFC 3229 | - |
3xx 리디렉션 (9개)
요청을 끝내려면 다른 곳으로 가는 등 추가 동작이 필요하다는 응답
| 코드 | 이름 | 한국어 | 정의 | 기본 캐시 |
|---|---|---|---|---|
| 300 | Multiple Choices | 여러 선택지 | RFC 9110 §15.4.1 | 가능 |
| 301 | Moved Permanently | 영구 이동 | RFC 9110 §15.4.2 | 가능 |
| 302 | Found | 임시 이동 | RFC 9110 §15.4.3 | - |
| 303 | See Other | 다른 곳 보기 | RFC 9110 §15.4.4 | - |
| 304 | Not Modified | 변경 없음 | RFC 9110 §15.4.5 | - |
| 305 | Use Proxy | 프록시 사용(폐기) | RFC 9110 §15.4.6 | - |
| 306 | (Unused) | 사용 안 함 | RFC 9110 §15.4.7 | - |
| 307 | Temporary Redirect | 임시 리디렉션 | RFC 9110 §15.4.8 | - |
| 308 | Permanent Redirect | 영구 리디렉션 | RFC 9110 §15.4.9 | 가능 |
4xx 클라이언트 오류 (29개)
요청 쪽에 문제가 있다는 응답
| 코드 | 이름 | 한국어 | 정의 | 기본 캐시 |
|---|---|---|---|---|
| 400 | Bad Request | 잘못된 요청 | RFC 9110 §15.5.1 | - |
| 401 | Unauthorized | 인증 필요 | RFC 9110 §15.5.2 | - |
| 402 | Payment Required | 결제 필요(예약) | RFC 9110 §15.5.3 | - |
| 403 | Forbidden | 접근 금지 | RFC 9110 §15.5.4 | - |
| 404 | Not Found | 찾을 수 없음 | RFC 9110 §15.5.5 | 가능 |
| 405 | Method Not Allowed | 허용되지 않은 메서드 | RFC 9110 §15.5.6 | 가능 |
| 406 | Not Acceptable | 받을 수 없는 형식 | RFC 9110 §15.5.7 | - |
| 407 | Proxy Authentication Required | 프록시 인증 필요 | RFC 9110 §15.5.8 | - |
| 408 | Request Timeout | 요청 시간 초과 | RFC 9110 §15.5.9 | - |
| 409 | Conflict | 충돌 | RFC 9110 §15.5.10 | - |
| 410 | Gone | 영구 삭제됨 | RFC 9110 §15.5.11 | 가능 |
| 411 | Length Required | 길이 필요 | RFC 9110 §15.5.12 | - |
| 412 | Precondition Failed | 전제 조건 실패 | RFC 9110 §15.5.13 | - |
| 413 | Content Too Large | 내용이 너무 큼 | RFC 9110 §15.5.14 | - |
| 414 | URI Too Long | 주소가 너무 김 | RFC 9110 §15.5.15 | 가능 |
| 415 | Unsupported Media Type | 지원하지 않는 형식 | RFC 9110 §15.5.16 | - |
| 416 | Range Not Satisfiable | 범위 오류 | RFC 9110 §15.5.17 | - |
| 417 | Expectation Failed | 기대 조건 실패 | RFC 9110 §15.5.18 | - |
| 418 | (Unused) | 사용 안 함 (찻주전자) | RFC 9110 §15.5.19 | - |
| 421 | Misdirected Request | 잘못 전달된 요청 | RFC 9110 §15.5.20 | - |
| 422 | Unprocessable Content | 처리할 수 없는 내용 | RFC 9110 §15.5.21 | - |
| 423 | Locked | 잠김 | RFC 4918 | - |
| 424 | Failed Dependency | 선행 작업 실패 | RFC 4918 | - |
| 425 | Too Early | 너무 이름 | RFC 8470 | - |
| 426 | Upgrade Required | 업그레이드 필요 | RFC 9110 §15.5.22 | - |
| 428 | Precondition Required | 전제 조건 필요 | RFC 6585 | - |
| 429 | Too Many Requests | 요청이 너무 많음 | RFC 6585 | - |
| 431 | Request Header Fields Too Large | 헤더가 너무 큼 | RFC 6585 | - |
| 451 | Unavailable For Legal Reasons | 법적 이유로 이용 불가 | RFC 7725 | - |
5xx 서버 오류 (11개)
서버가 올바른 요청을 처리하지 못했다는 응답
| 코드 | 이름 | 한국어 | 정의 | 기본 캐시 |
|---|---|---|---|---|
| 500 | Internal Server Error | 서버 내부 오류 | RFC 9110 §15.6.1 | - |
| 501 | Not Implemented | 구현되지 않음 | RFC 9110 §15.6.2 | 가능 |
| 502 | Bad Gateway | 잘못된 게이트웨이 | RFC 9110 §15.6.3 | - |
| 503 | Service Unavailable | 서비스 이용 불가 | RFC 9110 §15.6.4 | - |
| 504 | Gateway Timeout | 게이트웨이 시간 초과 | RFC 9110 §15.6.5 | - |
| 505 | HTTP Version Not Supported | HTTP 버전 미지원 | RFC 9110 §15.6.6 | - |
| 506 | Variant Also Negotiates | 변형도 협상 중 | RFC 2295 | - |
| 507 | Insufficient Storage | 저장 공간 부족 | RFC 4918 | - |
| 508 | Loop Detected | 반복 감지 | RFC 5842 | - |
| 510 | Not Extended | 확장 필요(폐지) | RFC 2774 | - |
| 511 | Network Authentication Required | 네트워크 인증 필요 | RFC 6585 | - |
HTTP 상태 코드 한눈에 보기
웹 브라우저나 앱이 서버에 요청을 보내면 서버는 세 자리 숫자로 결과를 알려 줘요. 첫 자리가 분류를 정해서 1은 정보, 2는 성공, 3은 리디렉션, 4는 요청 쪽 문제, 5는 서버 쪽 문제예요. 이 목록은 IANA의 HTTP 상태 코드 등록부(2025-09-15 갱신)에 올라 있는 코드 중 임시 등록인 104를 뺀 63개예요. 사용하지 않는 306·418, 폐지된 305·510도 표시 그대로 넣었어요.
‘기본 캐시’가 ‘가능’인 코드는 RFC 9110이 정한 heuristically cacheable 코드예요. 이 응답은 Cache-Control이 없어도 캐시에 남을 수 있어서, 잘못된 301이나 404를 보내면 고친 뒤에도 한동안 보일 수 있어요. 모르는 코드를 받으면 클라이언트는 같은 분류의 x00 코드(예: 499 → 400)처럼 다뤄요.
각 코드 페이지에는 정의, 꼭 넣어야 하는 헤더, 응답 예시, 사용자와 개발자가 할 일을 정리했고, 위쪽 입력 칸에서 다른 코드를 바로 찾아볼 수 있어요.
참고한 자료
- IANA Hypertext Transfer Protocol (HTTP) Status Code Registry (등록 이름·참조 문서, 확인 2026-11-12)
- RFC 9110 HTTP Semantics — 15. Status Codes (정의·필수 헤더·기본 캐시 가능 코드, 확인 2026-11-12)
자주 묻는 질문
등록되지 않은 숫자(예: 499, 520)는 뭐예요?
특정 서버나 서비스가 자체적으로 쓰는 비표준 코드예요. 표준 클라이언트는 같은 분류의 x00(400, 500)처럼 처리해요.
404와 410 중 어떤 걸 써야 해요?
영구히 지운 페이지라면 410이 더 정확해요. 다시 생길 수도 있거나 이유를 밝히지 않으려면 404를 써요.
함께 쓰면 좋은 도구
- JSON 정리 (보기 좋게 들여쓰기·검증·압축)JSON을 보기 좋게 들여쓰기, 오류 위치 표시, 한 줄 압축, 키 정렬, 문자열 이스케이프
- 정규식 테스트 (정규표현식 매칭 확인)패턴과 플래그로 일치하는 부분을 강조 표시, 그룹 값 표, 바꾸기 미리보기, 자주 쓰는 패턴
- Base64 인코딩·디코딩 (글자·파일 ↔ Base64)글자(한글 UTF-8)를 Base64로, Base64를 글자로, 파일·이미지를 data URI로, Base64를 파일로 저장
- 색상 코드 변환 (HEX·RGB·HSL·CMYK)HEX·RGB·HSL·HSV·CMYK를 서로 바꾸고, 글자 대비(WCAG) 검사, 밝게·어둡게 단계 표
- 색상 팔레트 만들기 (어울리는 색 조합·사진에서 색 뽑기)대표 색 하나로 보색·유사색·삼각 배색·단계색 팔레트, 사진에서 주요 색 뽑기, CSS·PNG로
- 이메일 제목·본문 인코딩 풀기 (=?UTF-8?B?·Quoted-Printable·Base64)=?UTF-8?B?…?=, =?ks_c_5601-1987?…, =EC=95=88 같은 메일 제목·본문을 읽을 수 있는 한글로