도구
가이드

HTTP 상태 코드

참고 자료

HTTP 응답 상태 코드 빠른 참조 — 1xx~5xx — 검색 지원.

100% 클라이언트 백엔드 없음
코드 이유 구문 카테고리 설명
이 페이지에서

HTTP 상태 코드 참조란?#

모든 HTTP 응답은 요청에 무슨 일이 일어났는지 숫자 하나로 알려주는 세 자리 상태 코드를 실고 옵니다. 숫자는 무작위가 아닙니다. 첫째 자리가 계열을 정합니다. 1xx은 “잠깐만, 정보 보낸다”, 2xx은 “여기 있어, 됐어”, 3xx은 “다른 곳을 봐”, 4xx은 “너(클라이언트)가 망쳤어”, 5xx은 “나(서버)가 망쳤어”. 이 다섯 계열을 외우면 브라우저 요청, 실행한 curl, 응용 프로그램 로그의 오류를 막론하고 어떤 HTTP 교환이든 한눈에 읽을 수 있습니다.

문제는 실사용 중인 코드가 60개가 넘고, 이웃한 코드 사이의 차이가 자못 미묘하다는 점입니다. 401403, 302307, 422400. 이 페이지는 그 모두의 검색 가능한 참조입니다. 코드, IANA 이유 구문, 계열, 그리고 평이한 설명을 제공합니다. 숫자나 단어를 입력하면 표가 즉시 좁혀집니다.

사용 방법#

  1. 찾아보거나 검색하세요. 표는 계열(1xx부터 5xx까지)별로 그룹화된 모든 코드를 나열합니다. 위쪽의 검색 상자로 필터링하세요.
  2. 생각하는 대로 검색하세요. 필터는 의도를 잘 이해합니다.
    • 30이나 418 같은 숫자를 입력하면 접두사로 코드를 찾습니다. 30은 전체 3xx 리다이렉트 계열을 띄웁니다.
    • redirect, timeout, teapot 같은 단어를 입력하면 대소문자 구분 없이 이유 구문과 설명을 검색합니다.
  3. 행을 읽으세요. 각 행은 코드(숫자), 이유 구문(“Not Found” 같은 표준 구문), 카테고리(현지화된 계열 라벨), 설명(그 코드가 언제 반환되는지에 대한 짧은 설명)을 보여줍니다. 표 아래의 상태 막대가 몇 행이 일치했는지 알려줍니다.

주요 특징#

  • IANA 전체 세트와 사실상 표준 코드. 웹이 실제로 반환하는 모든 코드를 다룹니다. 100 Continue부터 511 Network Authentication Required까지, WebDAV 전용 207/208/226 항목, 농담 코드 418 I'm a Teapot, 법적으로 규정된 451까지.
  • 접두사 인식 숫자 검색. 4를 입력하면 무작위 부분집합을 쏟아내지 않고, 모든 4xx 클라이언트 오류를 순서대로 보여줍니다. 기억나지 않는 계열을 탐색하는 정확한 방법입니다.
  • 이유 구문과 설명에 걸친 단어 검색. “rate”는 429 Too Many Requests를, “range”는 416 Range Not Satisfiable을, “auth”는 401407 모두를 띄웁니다.
  • 이유 구문은 보편적입니다. 구문(“Not Found”, “Gateway Timeout”)은 번역이 아니라 기술 식별자입니다. 서버가 실제로 회선에 보내는 것과 일치하므로 문서나 이슈 트래커에 바로 붙여넣을 수 있습니다.
  • 브라우저에서만 실행. 데이터셋이 페이지와 함께 배포되고, 필터링은 네트워크 요청 없이 로컬에서 일어납니다.

실제 예시#

거의 모든 개발자가 한 번쯤 넘어지는 세 코드가 클라이언트 오류 트리오 401, 403, 404입니다. 숫자 40을 검색하면 한 화면에서 나란히 볼 수 있습니다.

  • 401 Unauthorized — “인증이 필요하지만 실패했거나 제공되지 않았습니다.” 서버는 사용자가 누구인지 모릅니다. 해결: 자격 증명(로그인 토큰, API 키)을 보내세요.
  • 403 Forbidden — “요청은 유효하지만 서버가 행동을 거부합니다(권한 부족).” 서버는 사용자가 누구인지 정확히 알며, 그래도 줄 수 없습니다. 해결: 다른 암호가 아니라 권한을 얻으세요.
  • 404 Not Found — “요청한 리소스를 찾을 수 없습니다.” URL 자체가 틀렸거나 리소스가 사라졌습니다. 해결: 경로를 고치세요.

가장 유용한 구분은 401403입니다. “너를 몰라”(로그인) 대 “너를 알아, 그리고 안 돼”(접근 요청). 재인증은 403을 절대 고치지 못하고, URL 만지기는 401을 절대 고치지 못합니다.

두 번째 유용한 조회는 리다이렉트 계열입니다. 30을 검색하면 301302는 역사적으로 클라이언트가 다음 요청에서 메서드를 바꾸는 것을 허용했지만(POSTGET으로 저하될 수 있음), 307308은 원래 메서드를 보존하기 위해 정확히 도입되었다는 것을 볼 수 있습니다. 그래서 폼 제출을 리다이렉트하는 현대 API가 301/302 대신 307/308을 가리키는 것입니다.

FAQ#

상태 코드의 첫째 자리는 무슨 의미인가요?#

계열을 정합니다. 1xx은 정보(서버가 “잠깐, 더 온다”고 말하는 중), 2xx은 성공, 3xx은 리다이렉션(다른 곳을 봐), 4xx은 클라이언트 오류(요청이 잘못됨), 5xx은 서버 오류(요청은 괜찮았지만 서버가 실패함)입니다. 나머지 두 자리는 그 계열 안의 특정 코드를 식별합니다.

418은 실제 상태 코드인가요?#

주번의 RFC에서 커피를 끓이기를 거부하는 찻주전지 이야기로 시작했으므로 프로덕션용은 아닙니다. 그렇긴 해도 일부 서비스는 장난스러운 “넌센스를 보냈다” 응답으로 진짜 418을 반환하며, 인식해 두면 해롭지 않습니다. 이 참조는 야생에서 만날 수 있어서 목록에 넣었습니다.

일부 코드가 WebDAV로 표시된 이유는?#

207 Multi-Status, 423 Locked, 507 Insufficient Storage 같은 코드는 공동 파일 편집을 위한 HTTP 확장인 WebDAV를 위해 정의되었습니다. 일반 웹 API에서는 드물지만 파일시스템 같은 인터페이스를 노출하는 시스템에서는 나타나므로, 설명에 WebDAV 출처를 적어 문맥이 이해되도록 했습니다.

이유 구문은 어디서 오나요?#

IANA에 등록된 표준 영어 이유 구문입니다. 서버가 상태 줄의 코드 뒤에 붙이는 문자열과 같습니다(예: HTTP/1.1 404 Not Found). 기술 식별자라 번역하지 않고 있는 그대로 보여줍니다. 페이지의 현지화 부분은 열 제목, 카테고리 라벨, 그리고 이 설명 텍스트입니다.