HTTP 상태 코드 조회
HTTP 상태 코드의 의미, 흔한 원인과 해결 방법, 기본 캐시 가능 여부, RFC 조항을 찾아 보세요. IANA 전체 목록과 nginx, Cloudflare 코드를 담았습니다.
| 코드 | 이름 | 분류 | 캐시 | 정의 문서 |
|---|---|---|---|---|
| 400 | 잘못된 요청 | 클라이언트 오류 | No | RFC 9110 §15.5.1 |
| 401 | 인증 필요 | 클라이언트 오류 | No | RFC 9110 §15.5.2 |
| 402 | 결제 필요 | 클라이언트 오류 | No | RFC 9110 §15.5.3 |
| 403 | 접근 금지 | 클라이언트 오류 | No | RFC 9110 §15.5.4 |
| 404 | 찾을 수 없음 | 클라이언트 오류 | Yes | RFC 9110 §15.5.5 |
| 405 | 허용되지 않는 메서드 | 클라이언트 오류 | Yes | RFC 9110 §15.5.6 |
| 406 | 허용 불가 | 클라이언트 오류 | No | RFC 9110 §15.5.7 |
| 407 | 프록시 인증 필요 | 클라이언트 오류 | No | RFC 9110 §15.5.8 |
| 408 | 요청 시간 초과 | 클라이언트 오류 | No | RFC 9110 §15.5.9 |
| 409 | 충돌 | 클라이언트 오류 | No | RFC 9110 §15.5.10 |
| 410 | 삭제됨 | 클라이언트 오류 | Yes | RFC 9110 §15.5.11 |
| 411 | 길이 필요 | 클라이언트 오류 | No | RFC 9110 §15.5.12 |
| 412 | 사전 조건 실패 | 클라이언트 오류 | No | RFC 9110 §15.5.13 |
| 413 | 콘텐츠가 너무 큼 | 클라이언트 오류 | No | RFC 9110 §15.5.14 |
| 414 | URI가 너무 김 | 클라이언트 오류 | Yes | RFC 9110 §15.5.15 |
| 415 | 지원하지 않는 미디어 유형 | 클라이언트 오류 | No | RFC 9110 §15.5.16 |
| 416 | 범위를 충족할 수 없음 | 클라이언트 오류 | No | RFC 9110 §15.5.17 |
| 417 | 기대 실패 | 클라이언트 오류 | No | RFC 9110 §15.5.18 |
| 418 | (미사용) | 클라이언트 오류 | No | RFC 9110 §15.5.19 |
| 419 | 페이지 만료 | 클라이언트 오류 | 정의 없음 | 비공식 — Laravel |
| 420 | 진정하세요 | 클라이언트 오류 | 정의 없음 | 비공식 — Twitter API v1 (retired) |
| 421 | 잘못 전달된 요청 | 클라이언트 오류 | No | RFC 9110 §15.5.20 |
| 422 | 처리할 수 없는 콘텐츠 | 클라이언트 오류 | No | RFC 9110 §15.5.21 |
| 423 | 잠김 | 클라이언트 오류 | No | RFC 4918 §11.3 |
| 424 | 종속성 실패 | 클라이언트 오류 | No | RFC 4918 §11.4 |
| 425 | 너무 이름 | 클라이언트 오류 | No | RFC 8470 §5.2 |
| 426 | 업그레이드 필요 | 클라이언트 오류 | No | RFC 9110 §15.5.22 |
| 428 | 사전 조건 필요 | 클라이언트 오류 | No | RFC 6585 §3 |
| 429 | 요청 과다 | 클라이언트 오류 | No | RFC 6585 §4 |
| 431 | 요청 헤더 필드가 너무 큼 | 클라이언트 오류 | No | RFC 6585 §5 |
| 444 | 응답 없음 | 클라이언트 오류 | 정의 없음 | 비공식 — nginx |
| 451 | 법적 사유로 이용 불가 | 클라이언트 오류 | No | RFC 7725 §3 |
| 494 | 요청 헤더가 너무 큼 | 클라이언트 오류 | 정의 없음 | 비공식 — nginx |
| 495 | SSL 인증서 오류 | 클라이언트 오류 | 정의 없음 | 비공식 — nginx |
| 496 | SSL 인증서 필요 | 클라이언트 오류 | 정의 없음 | 비공식 — nginx |
| 497 | HTTPS 포트로 보낸 HTTP 요청 | 클라이언트 오류 | 정의 없음 | 비공식 — nginx |
| 499 | 클라이언트가 요청을 닫음 | 클라이언트 오류 | 정의 없음 | 비공식 — nginx |
모든 HTTP 응답은 세 자리 상태 코드로 시작하며, 브라우저나 API 클라이언트, 검색엔진에 무슨 일이 일어났는지 알려 줍니다. 이 조회 도구는 RFC 9110과 WebDAV 등 이후 RFC에서 정의한 IANA 등록부 전체와, nginx 로그와 Cloudflare 오류 페이지에서 만나는 비공식 코드를 담았습니다. 코드마다 쉬운 설명과 흔한 원인, 해결 방법을 보여 줍니다.
사용 방법
- 502 같은 코드나 redirect, timeout, cookie 같은 단어를 입력합니다.
- 원하면 분류로 좁힙니다. 예를 들어 5xx 서버 오류만 볼 수 있습니다.
- 의미, 흔한 해결 방법, 기본 캐시 가능 여부, 정의한 RFC 조항을 확인합니다.
- 입력 칸을 비워 두면 전체 표를 훑어볼 수 있습니다.
계산식
분류 = 첫 자리 숫자: 1 정보 · 2 성공 · 3 리다이렉션 · 4 클라이언트 오류 · 5 서버 오류
RFC 9110은 클라이언트가 모든 코드의 분류를 이해하고, 모르는 코드는 같은 분류의 x00 코드처럼 처리하도록 요구합니다. 그래서 알 수 없는 299는 200으로, 477은 400으로 처리됩니다. 200, 203, 204, 206, 300, 301, 308, 404, 405, 410, 414, 501 응답은 명시적인 신선도 헤더 없이도 캐시될 수 있습니다(휴리스틱 캐시).
예시
504를 검색하면 RFC 9110 §15.6.5의 Gateway Timeout이 나옵니다. nginx나 로드 밸런서 같은 프록시가 뒤쪽 애플리케이션의 응답을 기다리다 포기한 상황이므로, 해결은 서버 쪽에서 합니다. 느린 요청을 빠르게 하거나 프록시 제한 시간을 늘리세요. 524를 검색하면 같은 문제의 Cloudflare 버전과 Cloudflare의 기본 100초 제한이 나옵니다.
자주 묻는 질문
401과 403은 어떻게 다른가요?
401은 인증되지 않았다는 뜻입니다. 로그인하거나 유효한 토큰을 보내면 통할 수 있습니다. 403은 서버가 누구인지 알거나 신경 쓰지 않으면서도 거부하는 것이어서, 다시 로그인해도 소용없습니다.
301과 308, 302와 307 중 무엇을 써야 하나요?
301과 302는 리다이렉트를 따라갈 때 브라우저가 POST를 GET으로 바꿀 수 있습니다. 308(영구)과 307(임시)은 메서드와 본문을 유지하므로 API와 폼 전송에 중요합니다. 일반 페이지 이전에는 301이면 충분합니다.
418 I'm a teapot은 실제 상태 코드인가요?
아닙니다. 커피포트를 다룬 만우절 RFC에서 나왔습니다. RFC 9110은 418을 "(Unused)"로 표기하고, 실제 의미가 붙지 않도록 예약해 두었습니다.
nginx 로그에 499가 보이는 이유는 무엇인가요?
응답이 준비되기 전에 클라이언트가 연결을 닫았을 때 nginx가 쓰는 자체 코드입니다. 사용자가 페이지를 떠났거나 클라이언트가 시간 초과된 경우가 많습니다. 브라우저에는 전송되지 않습니다.
출처
최종 업데이트:
이 입력값이 담긴 페이지 주소: https://kakao.mobile/ko/tools/http-status-code-lookup/
인용·퍼가기
kakaoCalc. (2026, November 8). HTTP 상태 코드 조회. https://kakao.mobile/ko/tools/http-status-code-lookup/
“HTTP 상태 코드 조회.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/http-status-code-lookup/.