- 검색창에 코드(예: 404)나 키워드(예: 인증, timeout)를 입력해 원하는 상태 코드를 찾습니다.
- 분류 버튼(1xx~5xx)으로 특정 그룹만 모아 볼 수 있습니다.
- 코드 항목을 클릭하면 코드 번호가 클립보드에 복사됩니다.
상태 코드는 세 자리지만, 의미의 9할은 맨 앞 한 자리에 담겨 있습니다. 코드를 외우기보다 첫 자리가 가리키는 방향을 먼저 잡으면, 처음 보는 코드도 대략 어디서 난 문제인지 짐작할 수 있습니다.
- 1xx·2xx·3xx: 정상 흐름입니다. 1xx는 "진행 중", 2xx는 "성공", 3xx는 "다른 곳으로 가라(리다이렉션)"는 안내라 보통 손볼 게 없습니다.
- 4xx: 공이 요청한 쪽에 있습니다. 주소·파라미터·인증 토큰처럼 클라이언트가 보낸 내용을 먼저 점검하세요.
- 5xx: 공이 서버 쪽에 있습니다. 요청을 똑같이 다시 보내도 같은 결과면 서버 로그·상태를 확인할 차례입니다.
각 코드의 구체적 원인과 대처는 404·500 에러의 의미 가이드에서 사례와 함께 정리했습니다.
- API 디버깅에: 응답 코드를 받았을 때 의미가 헷갈리면 바로 검색해 확인하세요. 4xx는 요청 쪽, 5xx는 서버 쪽 문제라는 큰 줄기를 기억하면 원인 파악이 빨라집니다.
- 올바른 코드 설계: API를 만들 때 성공은 200/201, 잘못된 입력은 400, 인증 필요는 401, 권한 없음은 403, 없는 자원은 404처럼 의미에 맞는 코드를 돌려주면 사용하는 쪽이 동작을 예측하기 쉽습니다.
- 429와 503 구분: 요청이 너무 많아 막힌 것은 429(Too Many Requests), 서버가 일시적으로 불가한 것은 503(Service Unavailable)입니다. 재시도 전략을 다르게 가져가야 합니다.
첫 자리로 응답의 종류를 구분합니다. 1xx는 정보(처리 중), 2xx는 성공, 3xx는 리다이렉션(추가 동작 필요), 4xx는 클라이언트 오류(요청이 잘못됨), 5xx는 서버 오류(서버가 요청을 처리하지 못함)를 뜻합니다. 분류 버튼으로 각 그룹만 모아 볼 수 있습니다.
401 Unauthorized는 인증이 안 된 상태로, 로그인이나 올바른 인증 정보가 필요하다는 뜻입니다. 403 Forbidden은 인증은 됐지만 해당 자원에 접근할 권한이 없다는 뜻입니다. 간단히 말해 401은 '누구인지 모르겠다', 403은 '누구인지 알지만 허용되지 않는다'입니다.
이 치트시트는 표준(RFC) 및 널리 쓰이는 주요 상태 코드를 담고 있습니다. 일부 서버나 CDN은 자체적인 비표준 코드(예: 일부 4xx·5xx 확장)를 쓰기도 하는데, 그런 코드는 해당 서비스 문서를 확인해야 합니다. 표준 코드의 의미를 빠르게 떠올리는 용도로 활용하세요.
둘 다 다른 주소로 보내는 리다이렉션이지만 영구·임시 여부가 다릅니다. 301 Moved Permanently는 자원이 새 URL로 영구히 옮겨졌다는 뜻이라 브라우저와 검색엔진이 옛 주소를 새 주소로 대체해 기억합니다. 302 Found는 임시 이동이라 원래 주소를 그대로 두고 이번만 다른 곳을 보여 줍니다. 주소를 영구히 바꿀 때 302를 쓰면 검색 순위가 새 주소로 옮겨가지 않으니 주의해야 합니다.
200은 서버가 요청을 성공으로 처리해 응답을 돌려줬다는 뜻일 뿐, 그 내용이 우리가 기대한 것인지까지 보장하지는 않습니다. 예를 들어 API가 빈 목록이나 오류 메시지를 본문에 담아 200으로 보내는 경우도 있습니다. 상태 코드가 200이라면 다음으로 응답 본문과 콘텐츠 타입, 그리고 자바스크립트 콘솔 오류를 함께 확인하는 것이 좋습니다.