HTTP 상태코드 사전
200·404·500 등 HTTP 상태코드의 의미를 조회
일치하는 상태코드가 없습니다.No matching status codes.
검색·필터는 브라우저에서만 처리되며 서버로 전송되지 않습니다.Search and filtering run entirely in your browser — nothing is sent to a server.
HTTP 상태코드 사전이란?
HTTP 상태코드 사전은 서버 응답에 담긴 세 자리 상태코드의 의미·발생 상황·대처법을 즉시 찾아볼 수 있는 도구입니다. 코드 숫자나 이름 일부를 입력하거나 분류 칩을 눌러 원하는 코드를 빠르게 찾을 수 있습니다.
분류 설명
- 1xx 정보: 요청을 받았고 처리가 계속 진행 중임을 알립니다.
- 2xx 성공: 요청이 정상적으로 처리되었습니다.
- 3xx 리다이렉션: 요청을 완료하려면 추가 동작(다른 주소로 이동 등)이 필요합니다.
- 4xx 클라이언트 오류: 요청 자체에 문제가 있어 서버가 처리할 수 없습니다.
- 5xx 서버 오류: 요청은 유효하지만 서버 쪽 문제로 처리에 실패했습니다.
개인정보·처리 방식
모든 검색·필터링은 사용자의 브라우저 안에서만 이루어집니다. 입력한 검색어는 서버로 전송되거나 저장되지 않습니다.
5개 클래스 의미 체계 정리표
HTTP 상태코드는 첫 자리 숫자로 5개 클래스(범주)를 구분합니다. 각 클래스와 대표 코드를 정리하면 아래와 같습니다.
| 클래스 | 의미 | 대표 코드 |
|---|---|---|
| 1xx | 정보 — 요청 접수, 처리 계속 진행 중 | 100, 101, 103 |
| 2xx | 성공 — 요청이 정상 처리됨 | 200, 201, 204 |
| 3xx | 리다이렉션 — 완료하려면 추가 동작 필요 | 301, 302, 304 |
| 4xx | 클라이언트 오류 — 요청 자체에 문제 | 400, 401, 404 |
| 5xx | 서버 오류 — 요청은 유효하나 서버가 실패 | 500, 502, 503 |
클라이언트(브라우저·API 라이브러리)는 첫 자리만 보고도 재시도·리다이렉트 추적·오류 처리 여부를 즉시 결정할 수 있어, 세부 코드를 모르더라도 클래스 구분만으로 기본적인 대응이 가능합니다.
실무 오용 사례 — 200에 에러 바디, 301 vs 302 캐시 함정
상태코드를 의미와 다르게 쓰는 실무 안티패턴 두 가지를 소개합니다.
① 200에 에러 바디 담기 — 일부 API는 실제로는 처리에 실패했는데도 응답 상태코드를 200 OK로 두고 본문(JSON)에만 {"error": "..."}를 담아 알립니다. 이렇게 하면 캐시·모니터링·API 클라이언트의 자동 재시도·로깅 로직이 모두 "성공"으로 오인해, 실패를 감지하려면 매번 응답 본문까지 파싱해야 하는 부담이 생깁니다. 실패는 4xx·5xx로, 성공은 2xx로 상태코드 자체를 정확히 쓰는 것이 원칙입니다.
② 301 vs 302 캐시 함정 — 301 Moved Permanently는 브라우저가 영구적으로 캐시해 이후 같은 주소로 재요청하지 않고 캐시된 리다이렉트 대상으로 바로 이동합니다. 리다이렉트 대상을 잘못 설정한 뒤 301로 내보내면 사용자 브라우저에 캐시가 남아 설정을 되돌려도 오래 문제가 지속될 수 있습니다(사용자가 캐시를 지워야 해결). 반대로 임시 조치인데 302 대신 301을 쓰면 검색엔진이 옛 URL의 SEO 가치를 새 URL로 영구 이전해버려 되돌리기 어렵습니다. 정말 영구적인 이동에만 301을, 임시 조치·A/B 테스트·점검 중 리다이렉트에는 302나 307을 쓰는 것이 안전합니다.
What is this tool?
The HTTP status code dictionary lets you instantly look up the meaning, typical cause, and recommended response for any three-digit status code returned by a server. Type a code number or part of its name, or use the category chips to filter.
Category guide
- 1xx Informational: the request was received and processing continues.
- 2xx Success: the request was completed successfully.
- 3xx Redirection: further action (e.g. following another URL) is needed to complete the request.
- 4xx Client Error: the request itself has a problem the server cannot process.
- 5xx Server Error: the request was valid but the server failed to fulfill it.
Privacy & processing
All search and filtering happens entirely in your browser. Nothing you type is sent to a server or stored.
The 5 classes at a glance
HTTP status codes fall into 5 classes based on their first digit. Here they are with representative codes.
| Class | Meaning | Representative codes |
|---|---|---|
| 1xx | Informational — request received, processing continues | 100, 101, 103 |
| 2xx | Success — the request was handled correctly | 200, 201, 204 |
| 3xx | Redirection — further action is needed | 301, 302, 304 |
| 4xx | Client error — something's wrong with the request | 400, 401, 404 |
| 5xx | Server error — the request was valid but the server failed | 500, 502, 503 |
Clients (browsers, API libraries) can decide whether to retry, follow a redirect, or treat something as an error just by looking at the first digit, without needing to know every specific code.
Real-world misuse — error bodies under 200, and the 301 vs 302 cache trap
Two common anti-patterns where status codes are used against their intended meaning.
1. Error bodies under 200 — Some APIs return 200 OK even when the request actually failed, signaling the failure only inside the JSON body (e.g. {"error": "..."}). This makes caches, monitoring, and client auto-retry/logging logic all treat the response as a success, forcing every consumer to parse the body just to detect failure. The rule of thumb: use 4xx/5xx for failures and 2xx for success at the status-code level itself.
2. The 301 vs 302 cache trap — Browsers cache 301 Moved Permanently indefinitely, so future requests skip the server entirely and jump straight to the cached target. Ship a 301 with the wrong redirect target and the browser cache can keep the problem alive long after you fix the server (users may need to clear their cache). Conversely, using 301 instead of 302 for a temporary change lets search engines permanently transfer the old URL's SEO value to the new one — hard to undo. Reserve 301 for truly permanent moves, and use 302 or 307 for temporary redirects, A/B tests, or maintenance windows.