it-box

HTTP 상태 코드

모든 HTTP 상태 코드와 이름, 의미를 확인합니다.

HTTP 상태 코드 도구 열기

HTTP 상태 코드 63개를 1xx부터 5xx까지 분류해 보여 주고, 코드 번호나 이름, 설명으로 검색할 수 있게 합니다. WebDAV 확장 코드도 포함합니다.

사용 순서

  1. 검색 칸에 404, Not Found, 또는 설명의 일부를 입력합니다.
  2. 검색어를 지우면 1xx부터 5xx까지 전체 목록이 다시 나옵니다.
  3. 카드에서 코드, 이름, 설명을 확인합니다.
  4. WebDAV 코드는 설명 뒤에 (WebDav 상태 코드)가 붙어 있어 구분할 수 있습니다.

예시

404를 검색하면 404 Not Found 카드가 나오며, 설명은 「요청한 리소스를 찾을 수 없습니다. 나중에 제공될 수도 있습니다.」 입니다.

한계

목록은 63개 항목으로 고정되어 있으며, 각 설명은 한두 문장으로 된 요약입니다. RFC 원문 전체가 아닙니다. 설명 언어가 섞여 있어서 일부는 영어로 나옵니다. 예를 들어 100번 Continue의 설명은 영어입니다.

보안 주의

상태 코드의 설명은 일반적인 의미를 요약한 것이므로, 서버 구현에 따라 같은 코드를 다르게 쓰는 경우가 많습니다. 401과 403의 구분이나 500의 세부 원인은 해당 API 문서를 함께 확인하세요.

배경 지식

HTTP 상태 코드는 응답 첫 줄에 붙는 세 자리 숫자로, 요청의 결과를 다섯 부류로 나눕니다. 1xx는 진행 중, 2xx는 성공, 3xx는 다른 위치로 이동, 4xx는 요청 측 잘못, 5xx는 서버 측 오류를 뜻합니다. 클라이언트는 첫 자리만 보고도 대략의 처리 방향을 정할 수 있으며, 세부 코드는 재시도 여부, 캐시 동작, 사용자에게 보일 메시지를 다르게 만듭니다.

같은 상태 코드라도 서버마다 본문과 헤더를 다르게 쓰기 때문에, 코드 번호만으로 원인을 단정하면 안 됩니다. 예를 들어 503은 일시적인 과부하를 뜻하지만, Retry-After 헤더가 있을 때만 재시도 시점을 알 수 있습니다. WebDAV 코드 207처럼 확장 규격에서 온 코드도 있어서, 일반 웹 API에서는 보기 드문 코드가 나올 수 있습니다.

자주 묻는 질문

401과 403의 차이는 무엇인가요?

401은 인증 정보가 없거나 잘못되어 신원부터 확인해야 한다는 뜻이고, 403은 신원은 확인됐지만 권한이 없다는 뜻입니다. 로그인한 뒤에도 403이 나오면 권한 설정을 확인해야 합니다. 401 응답에는 규격상 WWW-Authenticate 헤더를 함께 보내야 합니다.

301과 308은 어떻게 다른가요?

둘 다 영구 이동을 뜻하지만, 301은 실제로 POST 요청을 GET으로 바꿔 보내는 구현이 많습니다. 308은 메서드와 본문을 그대로 유지합니다. POST 요청을 리다이렉트할 때는 본문을 보존하기 위해 308을 쓰는 것이 맞습니다.

200인데도 오류 응답인 경우가 있나요?

있습니다. 일부 API는 실패 여부를 본문의 필드로만 알려 주고 상태 코드는 200을 보내기도 합니다. 상태 코드만 보고 성공으로 판단하기 전에 해당 API의 오류 형식을 확인하세요.