HTTP 상태 코드 레퍼런스
100 Continue부터 511 Network Authentication Required까지 60여 개 표준 HTTP 응답 코드와 한 줄 요약·RFC 참조·권장 사용처·자주 오용되는 코드에 대한 '함정' 메모(401 vs 403, 301 캐시 영구화, 400 vs 422 등). 클래스(1xx 정보·2xx 성공·3xx 리디렉트·4xx 클라이언트·5xx 서버) 필터 또는 코드·이름·요약·메모 전체에 대한 텍스트 검색.
결과: 61
100ContinueServer received headers; client should send the body.
RFC: RFC 9110 §15.2.1
101Switching ProtocolsServer agrees to switch protocols (e.g., HTTP/2, WebSocket).
사용 시점: WebSocket upgrade handshakes.
RFC: RFC 9110 §15.2.2
102ProcessingWebDAV: request received but no response yet.
RFC: RFC 2518
103Early HintsPreload hints sent before the final response.
사용 시점: Send Link: rel=preload for critical assets before the slow backend reply lands.
RFC: RFC 8297
200OKStandard success response with a body.
RFC: RFC 9110 §15.3.1
201CreatedResource was created; include Location header pointing to it.
사용 시점: POST that creates a new resource. Body is optional.
RFC: RFC 9110 §15.3.2
202AcceptedRequest accepted for async processing; no result yet.
사용 시점: Long-running jobs — return a status URL for the client to poll.
RFC: RFC 9110 §15.3.3
203Non-Authoritative InformationResponse was transformed by a proxy.
RFC: RFC 9110 §15.3.4
204No ContentSuccess but no body to send.
사용 시점: DELETE success, PUT with no useful body, preflight OK.
함정: MUST NOT include a message body. Some libraries error if you do.
RFC: RFC 9110 §15.3.5
205Reset ContentSuccess; client should reset the document view (clear form).
RFC: RFC 9110 §15.3.6
206Partial ContentRange request was honored; partial body follows.
사용 시점: Resumable downloads, video seek.
RFC: RFC 9110 §15.3.7
207Multi-StatusWebDAV multi-resource batched results.
RFC: RFC 4918
208Already ReportedWebDAV: bindings already enumerated earlier in the response.
RFC: RFC 5842
226IM UsedDelta encoding response.
RFC: RFC 3229
300Multiple ChoicesMultiple resources match; client should pick one.
RFC: RFC 9110 §15.4.1
301Moved PermanentlyResource has a new permanent URL. Caches forever.
사용 시점: Domain migration, URL restructure.
함정: Browsers cache 301 aggressively — fixing a wrong one is painful. Test with 302 first.
RFC: RFC 9110 §15.4.2
302FoundTemporary redirect (legacy semantics, method may change).
함정: Historically rewrote POST→GET. Use 303 or 307 for explicit method-preservation semantics.
RFC: RFC 9110 §15.4.3
303See OtherRedirect that always becomes a GET.
사용 시점: POST/Redirect/GET pattern after form submit.
RFC: RFC 9110 §15.4.4
304Not ModifiedConditional request: cached copy is still fresh.
사용 시점: Response to If-None-Match / If-Modified-Since.
함정: MUST NOT include a body.
RFC: RFC 9110 §15.4.5
307Temporary RedirectTemporary; method and body must be preserved.
RFC: RFC 9110 §15.4.8
308Permanent RedirectPermanent; method and body must be preserved.
사용 시점: POSTs that must survive a permanent move. Prefer over 301 for API endpoints.
RFC: RFC 9110 §15.4.9
400Bad RequestGeneric malformed request the server cannot parse.
함정: Don't use 400 for valid syntax with bad semantics — use 422 instead.
RFC: RFC 9110 §15.5.1
401UnauthorizedAuthentication required or failed. Must include WWW-Authenticate.
함정: Misnamed historically — means "unauthenticated". Use 403 for "authenticated but not allowed".
RFC: RFC 9110 §15.5.2
402Payment RequiredReserved for future use; some APIs use for billing failures.
RFC: RFC 9110 §15.5.3
403ForbiddenAuthenticated but the action is not allowed for this principal.
사용 시점: Authorization failure, geo-block, or "you cannot do this regardless of auth".
RFC: RFC 9110 §15.5.4
404Not FoundResource does not exist (or you are hiding it).
사용 시점: Often returned instead of 403 to avoid disclosing existence.
RFC: RFC 9110 §15.5.5
405Method Not AllowedResource exists but does not support this verb. MUST include Allow header.
RFC: RFC 9110 §15.5.6
406Not AcceptableNo representation matches the Accept headers.
RFC: RFC 9110 §15.5.7
407Proxy Authentication RequiredLike 401 but for proxies. Must include Proxy-Authenticate.
RFC: RFC 9110 §15.5.8
408Request TimeoutServer gave up waiting for the request to finish.
RFC: RFC 9110 §15.5.9
409ConflictRequest collides with current state (e.g., edit conflict, duplicate).
사용 시점: Unique-key violations on creation, version mismatch on update.
RFC: RFC 9110 §15.5.10
410GoneResource permanently removed with no forwarding address.
사용 시점: Use over 404 when you want crawlers/clients to drop the URL permanently.
RFC: RFC 9110 §15.5.11
411Length RequiredServer requires Content-Length and the request omitted it.
RFC: RFC 9110 §15.5.12
412Precondition FailedIf-Match / If-Unmodified-Since check failed.
사용 시점: Optimistic concurrency control on updates.
RFC: RFC 9110 §15.5.13
413Content Too LargeBody exceeds the server limit. Formerly "Payload Too Large".
RFC: RFC 9110 §15.5.14
414URI Too LongURL exceeds server limit (commonly ~8KB).
RFC: RFC 9110 §15.5.15
415Unsupported Media TypeContent-Type is not supported by this endpoint.
RFC: RFC 9110 §15.5.16
416Range Not SatisfiableRange header asks for bytes outside the resource.
RFC: RFC 9110 §15.5.17
417Expectation FailedServer cannot meet the Expect: header requirements.
RFC: RFC 9110 §15.5.18
418I'm a teapotApril-fools status (RFC 2324). Returned by some debugging or honeypot endpoints.
RFC: RFC 2324
421Misdirected RequestRequest was routed to a server that cannot produce a response (e.g., wrong SNI).
RFC: RFC 9110 §15.5.20
422Unprocessable ContentSyntactically valid but semantically incorrect (e.g., validation failure).
사용 시점: Form-level validation errors on a JSON API.
RFC: RFC 9110 §15.5.21
423LockedWebDAV: resource is locked.
RFC: RFC 4918
424Failed DependencyWebDAV: a previous request in the chain failed.
RFC: RFC 4918
425Too EarlyServer refuses replay-vulnerable early data (TLS 1.3 0-RTT).
RFC: RFC 8470
426Upgrade RequiredClient must upgrade to a different protocol. Include Upgrade header.
RFC: RFC 9110 §15.5.22
428Precondition RequiredServer requires the request to be conditional (If-Match etc).
사용 시점: APIs that demand optimistic-concurrency tokens to prevent lost updates.
RFC: RFC 6585
429Too Many RequestsRate-limited. Include Retry-After header.
RFC: RFC 6585
431Request Header Fields Too LargeSum of headers exceeds the server limit.
RFC: RFC 6585
451Unavailable For Legal ReasonsBlocked due to legal demand (Fahrenheit 451 reference).
RFC: RFC 7725
500Internal Server ErrorUnhandled exception or generic server crash.
함정: Never expose stack traces — log them server-side only.
RFC: RFC 9110 §15.6.1
501Not ImplementedServer does not support the requested method at all.
RFC: RFC 9110 §15.6.2
502Bad GatewayUpstream returned an invalid response to the gateway.
사용 시점: Load balancer cannot reach origin; origin returned junk.
RFC: RFC 9110 §15.6.3
503Service UnavailableServer temporarily down or overloaded. Should include Retry-After.
RFC: RFC 9110 §15.6.4
504Gateway TimeoutGateway gave up waiting for upstream.
RFC: RFC 9110 §15.6.5
505HTTP Version Not SupportedServer does not support the HTTP version in the request.
RFC: RFC 9110 §15.6.6
506Variant Also NegotiatesTransparent content negotiation is misconfigured.
RFC: RFC 2295
507Insufficient StorageWebDAV: server cannot store the representation.
RFC: RFC 4918
508Loop DetectedWebDAV: infinite loop while processing.
RFC: RFC 5842
510Not ExtendedFurther extensions required to fulfill the request.
RFC: RFC 2774
511Network Authentication RequiredCaptive portal: log in to the network first.
사용 시점: Public Wi-Fi splash pages.
RFC: RFC 6585
사용법
- 검색창에 코드·이름·또는 임의 단어 입력 (예: '리디렉트', 'rate limit', '422').
- 컬러 칩으로 클래스별 필터링.
- 각 결과의 요약·사용 시점·함정·RFC 참조 확인.
자주 묻는 질문
- 왜 일부 코드에 '함정'을 표시?
- 몇몇 상태 코드는 자주 오용됩니다. 401은 '미인증'이지만 'unauthorized'로 읽혀 혼동되고, 301은 브라우저에서 사실상 영구 캐시되며, 400 vs 422는 끊임없이 논쟁. 코드 리뷰·장애 회고에서 자주 문제되는 구체적 함정만 표시.
- WebDAV 코드도 포함?
- 포함됩니다 — 102·207·208·423·424·507·508과 해당 RFC. WebDAV를 직접 쓰지 않더라도 라이브러리·프록시가 노출하기도 하므로 의미를 알아두면 좋습니다.
- 비표준 코드(Cloudflare 520-527 등)는?
- 벤더 전용 코드(Cloudflare 520-527·AWS 460/463·IIS 440)는 제외 — RFC에 없고 벤더마다 의미가 다릅니다. 해당 벤더 문서를 참고하세요.
- 왜 일부 코드는 '사용 시점' 필드가 비어있나?
- 이름만으로 자명하거나(200 OK·500 Internal Server Error) 특수 맥락에만 등장하면 요약만으로 충분. 정말로 짚어야 할 이야기가 있을 때만 when/pitfall 표시.
관련 도구
JSON Diff 뷰어
두 JSON을 구조적으로 비교 — 어떤 키가 추가·삭제·변경됐는지 정확히 보여 줍니다.
Cache-Control 헤더 빌더
체크리스트로 HTTP Cache-Control 헤더 생성 — 프레시니스·재검증·immutable·자주 쓰는 프리셋.
HTTP Basic 인증 인코더/디코더
`username:password`를 Base64 `Authorization: Basic` 헤더로 인코딩 — 또는 기존 헤더 붙여넣어 누군지 확인.
HTTP 헤더 참조
표준 HTTP 요청·응답·CORS·캐싱·보안·쿠키 헤더 약 50개의 검색 가능한 참조.
HTTP 메서드 참조
각 HTTP 메서드(GET·POST·PUT·DELETE·PATCH 등) 카드 — 안전성·idempotence·캐시 가능 여부·요청/응답 본문 허용.
/.well-known/* URI 레퍼런스
IANA 등록 well-known URI 검색 카탈로그 — `security.txt`·`openid-configuration`·`apple-app-site-association`·`acme-challenge` 외 30+개, RFC 레퍼런스·사용 사례 포함.