Skip to content
HTTP 상태 코드
Tools

HTTP 상태 코드

신규

HTTP 상태 코드를 평어로 설명하는 검색 가능한 참조 자료.

Runs entirely in your browser. Nothing is uploaded.

완전한 HTTP 상태 코드 검색 참고서

HTTP 상태 코드 참고서는 모든 표준 코드를 한 곳에서 검색할 수 있도록 모아 놓은 도구입니다. 404 같은 숫자, unauthorized 같은 이름, 또는 redirect 같은 키워드를 입력하면 일치하는 코드와 명확한 한국어 설명이 즉시 표시됩니다. 각 항목에는 클래스 색상, 공식 RFC 참조, 그리고 오류의 경우 일반적인 원인과 해결 방법까지 함께 제공됩니다.

단순한 정적 HTTP 상태 코드 목록 페이지와 달리 이 도구는 인터랙티브합니다. 클래스별로 필터링하거나, 간결한 치트시트 보기로 전환하거나, 특정 코드로 바로 이동할 수 있습니다. 전체 데이터셋이 페이지에 함께 탑재되어 있어 조회 속도가 빠르고 오프라인에서도 작동합니다. 회원가입, 이용 횟수 제한, 광고 없이 답변을 바로 확인하세요.

HTTP 상태 코드의 다섯 가지 클래스

모든 코드는 첫 번째 숫자에 따라 다섯 가지 클래스 중 하나에 속합니다. 1xx 정보는 요청을 수신하여 처리 중임을 의미합니다(100 Continue, 101 Switching Protocols). 2xx 성공은 요청이 정상적으로 처리되었음을 의미합니다(200 OK, 201 Created, 204 No Content). 3xx 리디렉션은 다른 위치로 이동해야 함을 나타냅니다(301, 302, 304, 307, 308).

4xx 클라이언트 오류는 요청 자체에 문제가 있음을 의미하고(400, 401, 403, 404, 429), 5xx 서버 오류는 서버 측에서 실패했음을 의미합니다(500, 502, 503, 504). 클래스만 알아도 코드를 자세히 읽기 전에 누구의 책임인지 즉시 파악할 수 있습니다. 4xx는 클라이언트가 수정해야 하고, 5xx는 서버 측 문제입니다. 이 단순한 구분이 HTTP 오류 처리에서 가장 유용한 지식으로, 로그를 파고들기 전에 어디를 먼저 살펴야 할지 알려 줍니다.

가장 자주 쓰이는 HTTP 상태 코드와 의미

웹 개발이나 디버깅 시 실제로 마주치는 코드는 소수에 집중되어 있습니다. 성공 측에서는 200 OK201 Created가 요청 성공을 확인해 줍니다. 리디렉션에서는 301(영구)과 302(임시)가 주요 쌍이며, 304 Not Modified는 브라우저 캐싱을 지원합니다.

클라이언트 오류 중에는 400, 401, 403, 404, 429가 가장 빈번하고, 서버 오류 중에는 500, 502, 503, 504가 주를 이룹니다. 위 도구에서 '자주 쓰이는 코드만 보기'를 켜면 전체 목록을 이 중요 코드 목록으로 필터링하여 각각의 원인과 해결 방법을 확인할 수 있습니다.

4xx vs 5xx: 클라이언트 오류와 서버 오류의 차이

4xx와 5xx 오류의 차이를 이해하면 어디를 살펴야 할지 알 수 있습니다. 4xx는 클라이언트 오류입니다. 요청이 잘못 구성되었거나, 인증이 없거나, 금지되었거나, 존재하지 않는 리소스를 가리키는 경우입니다. 동일한 요청을 그대로 재전송해도 소용이 없습니다. 응답 본문과 헤더를 읽고, 요청을 수정한 후 재시도해야 합니다.

5xx는 서버 오류입니다. 요청 자체는 유효하지만 서버가 처리하지 못한 경우입니다. 500은 보통 처리되지 않은 예외를 의미하고, 502는 프록시 뒤의 업스트림 서버가 죽은 상태, 503은 일시적 과부하나 점검 중을 의미합니다. 5xx의 경우 수정은 요청이 아닌 서버 로그에서 이루어집니다. 따라서 재시도 로직은 5xx 응답에만, 그것도 지수 백오프와 함께 적용해야 합니다. 4xx에 재시도하면 아무 이득 없이 요청 할당량만 낭비됩니다.

공식 스펙에 없는 Cloudflare 5xx 코드 (520–530)

사이트가 Cloudflare 뒤에 위치한다면 공식 HTTP 스펙에는 존재하지 않는 비표준 5xx 코드를 마주치게 됩니다. 520은 오리진 서버가 빈 응답이나 예기치 않은 응답을 반환한 경우, 521은 오리진이 연결을 거부한 경우(오프라인이거나 Cloudflare IP를 방화벽으로 차단), 522는 TCP 연결 타임아웃, 523은 오리진에 도달할 수 없는 경우(DNS 오류인 경우 많음), 524는 오리진과 연결되었으나 Cloudflare의 100초 제한 내에 응답하지 않은 경우입니다.

SSL 관련 코드인 525 SSL Handshake Failed526 Invalid SSL Certificate은 오리진의 인증서가 없거나 만료되었거나, Cloudflare의 Full (Strict) 모드와 일치하지 않을 때 발생합니다. 530은 거의 항상 응답 본문의 1xxx 오류, 주로 오리진 DNS 실패(Error 1016)와 함께 등장합니다. 대부분의 참고 사이트는 이 코드들을 아예 빠뜨리는데, 그래서 개발자들이 장애 발생 중에 검색하게 되는 것입니다. 이 도구에서는 표준 코드와 동일한 원인·해결책 형식으로 검색할 수 있습니다.

MDN, httpstatuses.com 등 다른 참고 사이트와 비교

HTTP 상태 코드 조회에 가장 많이 쓰이는 대안은 MDN Web Docs입니다. MDN의 내용은 철저하고 권위 있지만, 코드별로 별도 페이지를 탐색해야 합니다. 모든 코드를 한 번에 필터링하는 검색창이 없고, 클래스 필터나 간결한 치트시트 모드도 없습니다. 이미 429를 보고 있고 스펙 정의만 필요하다면 MDN이 탁월하지만, 처음 보는 번호를 디버깅할 때는 검색 가능한 참고서가 더 빠릅니다.

httpstatuses.com은 짧은 설명과 함께 색상 코드화된 그리드로 코드를 보여 주지만, 일반적인 원인이나 오류 해결 방법을 설명하지 않습니다. restapitutorial.com과 w3schools는 모두 필터링 기능 없는 정적 테이블로 HTTP 코드를 다룹니다. HTTP.cat은 재미있는 밈 사이트(각 코드가 고양이 사진에 대응)지만 실제 디버깅에는 실용적이지 않습니다. 이 도구는 실시간 검색, 클래스 필터, 치트시트 모드, 원인, 해결 방법, Cloudflare 5xx 코드, RFC 링크를 모두 한 페이지에서 광고 없이 오프라인으로 제공합니다.

HTTP 상태 코드와 SEO

상태 코드는 검색 엔진이 사이트를 크롤링하고 순위를 매기는 방식에 조용히 영향을 미칩니다. 색인하려는 모든 페이지는 200 OK를 반환해야 합니다. URL을 영구적으로 변경할 때는 301 Moved Permanently를 사용하여 순위 신호가 새 URL로 전달되도록 하고, 임시 이동에는 302를 사용하여 원래 URL이 권위를 유지하도록 해야 합니다.

삭제된 콘텐츠의 경우 404 Not Found410 Gone 모두 해당 페이지를 색인에서 제거합니다. 410은 리소스가 영구적으로 사라졌음을 명확히 알리므로 더 빨리 제거됩니다. 계획된 점검 시에는 503 Service UnavailableRetry-After 헤더를 함께 반환하여 크롤러가 나중에 다시 방문하도록 하고, 페이지가 색인 제거되는 것을 방지하세요. 이 코드들을 올바르게 설정하는 것은 사이트 마이그레이션 시 가장 적은 비용으로 얻을 수 있는 SEO 효과 중 하나입니다. 설정에 몇 분이 걸리지 않지만 SEO 효과는 즉각적입니다.

Frequently asked questions

HTTP 상태 코드란 무엇인가요?

HTTP 상태 코드는 서버가 요청 결과를 설명하기 위해 응답에 포함하는 세 자리 숫자입니다. 200은 요청 성공, 404는 페이지를 찾을 수 없음, 500은 서버 오류를 의미합니다. 첫 번째 자리는 코드를 다섯 가지 클래스 중 하나로 분류합니다. 2xx는 항상 성공, 5xx는 항상 서버 오류를 나타내므로, 클래스만 알아도 디버깅 시작 지점을 즉시 파악할 수 있습니다. 클라이언트 측인지 서버 측인지를 먼저 결정하는 것이 핵심입니다.

HTTP 상태 코드 1xx, 2xx, 3xx, 4xx, 5xx의 차이는 무엇인가요?

첫 번째 자리가 클래스를 정의합니다. 1xx 정보(요청이 수신되어 처리 중, 예: 100 Continue), 2xx 성공(처리 완료, 예: 200 OK), 3xx 리디렉션(다른 위치로 이동 필요, 예: 301 Moved Permanently), 4xx 클라이언트 오류(요청이 잘못됨, 예: 404 Not Found), 5xx 서버 오류(서버 실패, 예: 500 Internal Server Error)입니다. 위 도구에서 클래스별로 필터링하면 각 코드의 설명과 함께 해당 그룹만 볼 수 있습니다.

가장 자주 쓰이는 HTTP 상태 코드는 무엇인가요?

일상적으로 마주치는 주요 코드는 200 OK, 201 Created, 204 No Content, 301과 302 리디렉션, 304 Not Modified, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests, 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable입니다. 위 도구에서 '자주 쓰이는 코드만 보기'를 켜면 전체 목록을 이 간략한 세트로 필터링하여 각각의 원인과 해결 방법을 확인할 수 있습니다.

HTTP 200 OK와 201 Created는 무슨 의미인가요?

200 OK는 표준 성공 응답으로, GET 요청에서는 응답 본문에 리소스를 반환하고 POST 요청에서는 작업 결과를 반환합니다. 201 Created는 POST 또는 PUT이 성공하여 새 리소스가 생성되었음을 의미합니다. 서버는 보통 Location 헤더에 새 리소스의 주소를 넣습니다(예: Location: /users/42). API를 개발하면서 리소스를 생성하는 경우라면 200이 아닌 201과 Location 헤더를 반환하여 클라이언트가 새 객체를 어디서 찾을 수 있는지 알 수 있도록 해야 합니다.

404 Not Found 오류는 무슨 의미이고 어떻게 해결하나요?

404는 서버가 해당 URL에서 아무것도 찾지 못했다는 의미입니다. 해당 페이지가 존재하지 않거나, 이동되었거나, 링크가 깨진 것입니다. URL 오타나 대소문자 오류를 확인하고, 이전 주소에서 새 주소로 301 리디렉션을 추가하고, 서버의 라우팅이나 재작성 규칙을 검증하고, 유용한 커스텀 404 페이지를 제공하세요. 410 Gone과 달리 404는 리소스가 영구적으로 사라졌다는 보장이 없으므로 검색 엔진은 계속 크롤링합니다. MDN Web Docs가 스펙을 잘 설명하지만, 이 도구는 각 코드와 함께 일반적인 원인과 해결 방법을 바로 보여 줍니다.

301과 302 리디렉션의 차이는 무엇인가요?

301 Moved Permanently는 리소스가 영구적으로 새 위치로 이동했음을 의미하므로, 검색 엔진은 순위 신호를 새 URL로 이전하고 색인을 업데이트합니다. URL을 영구적으로 변경할 때 사용하세요. 302 Found는 임시 이동으로, 원래 URL이 표준으로 유지되고 순위도 그대로 남습니다. A/B 테스트나 점검 페이지 같은 단기 이동에 사용하세요. GET이 아닌 요청(POST 등)에는 308(영구) 또는 307(임시)을 대신 사용하세요. 이 코드들은 HTTP 메서드를 그대로 유지하여 브라우저가 POST를 GET으로 다운그레이드하는 것을 방지합니다.

403 Forbidden 오류는 무슨 의미인가요?

403 Forbidden은 서버가 요청을 이해했지만 승인을 거부한다는 의미입니다. 401과 달리 인증 정보를 보내도 도움이 되지 않습니다. 일반적인 원인으로는 계정의 권한이나 스코프 부족, 서버의 잘못된 파일 권한(예: 파일이 644 대신 600으로 설정), IP 차단이나 WAF 규칙, 또는 인덱스 파일 없이 디렉터리 목록이 비활성화된 경우가 있습니다. 계정 역할, 파일 권한, 허용 목록을 확인하세요. 일부 서버는 리소스 존재 여부를 숨기기 위해 의도적으로 404 대신 403을 반환하기도 합니다.

500, 502, 503, 504 서버 오류의 차이는 무엇인가요?

모두 5xx 서버 오류이지만 의미가 다릅니다. 500 Internal Server Error는 일반적인 '뭔가 잘못됨' 응답으로, 보통 앱의 처리되지 않은 예외나 버그입니다. 502 Bad Gateway는 프록시가 업스트림 앱 서버로부터 잘못된 응답을 받은 경우(주로 크래시)입니다. 503 Service Unavailable은 서버가 일시적으로 다운되었거나 과부하 상태임을 의미하며, Retry-After 헤더가 포함되어야 합니다. 504 Gateway Timeout은 업스트림에 연결은 되었으나 제때 응답하지 않은 경우입니다. 실제로 이를 구분하려면 서버 로그부터 확인하세요.

HTTP 429 Too Many Requests는 무슨 의미인가요?

429는 일정 시간 동안 요청을 너무 많이 보내 속도 제한에 걸렸다는 의미입니다. 서버는 얼마나 기다려야 하는지 알려 주는 Retry-After 헤더를 포함해야 합니다. 해결 방법으로는 해당 헤더를 준수하고, 재시도 사이에 지수 백오프를 추가하고, 요청 횟수를 줄이기 위해 응답을 캐싱하거나, 더 높은 할당량을 요청하는 것이 있습니다. 공개 API와 악용 방지를 위한 로그인 엔드포인트에서 흔히 발생합니다. GitHub, Stripe, Twitter/X 등 대부분의 주요 서비스가 API 속도 제한에 429를 사용합니다.

4xx 오류와 5xx 오류의 차이는 무엇인가요?

4xx 오류는 클라이언트의 책임입니다. 요청 자체가 잘못되었으므로 동일한 요청을 그대로 재시도해도 소용이 없습니다(400 Bad Request, 401 Unauthorized, 404 Not Found). 5xx 오류는 서버의 책임입니다. 요청은 완전히 유효하지만 서버가 처리에 실패한 것이므로, 서버가 복구되면 동일한 요청이 성공할 수 있습니다(500, 502, 503). 4xx는 요청을 수정하고, 5xx는 서버를 수정하세요. 이 구분은 재시도 로직에 중요합니다. 지수 백오프를 적용하여 5xx에만 재시도하고, 4xx에는 재시도하지 마세요.

SEO에서 중요한 HTTP 상태 코드는 무엇인가요?

핵심 코드는 200 OK(색인하려는 모든 페이지에서 반환해야 함), 301 Moved Permanently(마이그레이션 시 새 URL로 순위 전달), 302 Found(임시 이동 — 원래 URL의 순위 유지), 404 Not Found와 410 Gone(페이지 누락을 크롤러에 알림. 410이 더 빨리 색인에서 제거되는 이유는 영구적으로 사라졌음을 명확히 하기 때문), 503 Service Unavailable(계획된 점검을 위한 SEO 안전 코드 — 크롤러에게 나중에 다시 오도록 지시하여 페이지 색인 제거 방지)입니다.

401 Unauthorized와 403 Forbidden의 차이는 무엇인가요?

401 Unauthorized는 실제로 '미인증' 상태를 의미합니다. 신원을 증명하지 않은 것이므로 유효한 인증 정보(토큰, API 키, 로그인 세션)를 제공하면 해결할 수 있습니다. 서버는 WWW-Authenticate 헤더로 응답해야 합니다. 403 Forbidden은 인증은 되어 있지만 해당 리소스에 접근할 권한이 없다는 의미입니다. 더 좋은 인증 정보를 제공해도 소용이 없으며, 다른 권한이 필요합니다. 간단히 말해 401은 '당신이 누구인지 모름', 403은 '그것을 할 수 없음'입니다.

307/308과 301/302 리디렉션의 차이는 무엇인가요?

네 가지 모두 리디렉션이지만, 307과 308은 원래 HTTP 메서드와 본문이 보존됨을 보장합니다. 반면 301과 302는 역사적으로 클라이언트가 리디렉션 요청에서 POST를 GET으로 전환하는 것을 허용합니다. 따라서 301(영구)과 302(임시)는 일반 페이지 리디렉션에는 문제없지만, POST나 PUT 데이터를 수신하는 엔드포인트에서는 메서드를 유지하고 데이터 손실을 방지하기 위해 영구 이동에는 308, 임시 이동에는 307을 사용해야 합니다.

Cloudflare 520, 521, 522, 525 같은 5xx 코드는 무엇인가요?

520–530 범위의 코드는 Cloudflare와 오리진 서버 사이에서 문제가 발생했을 때 Cloudflare가 반환하는 비표준 코드입니다. 공식 HTTP 스펙에는 없지만 Cloudflare 뒤에서는 자주 마주칩니다. 520은 오리진이 빈 응답이나 예기치 않은 응답을 보낸 경우, 521은 오리진이 연결을 거부한 경우(다운되었거나 Cloudflare를 방화벽으로 차단), 522는 TCP 연결 타임아웃, 523은 오리진에 도달 불가, 524는 오리진과 연결은 되었으나 100초 내에 응답하지 않은 경우, 525와 526은 SSL 핸드셰이크 및 인증서 실패, 530은 보통 1xxx 코드와 함께 오는 오리진 DNS 오류입니다. 위 검색창에 이 번호들을 입력하면 원인과 해결 방법을 바로 확인할 수 있습니다.

MDN Web Docs나 httpstatuses.com과 비교하면 어떤가요?

MDN Web Docs는 권위 있는 스펙 참고서이지만 실시간 검색창이 없고, 클래스 필터도 없으며, 간결한 치트시트 보기도 없습니다. 코드별로 페이지를 하나씩 탐색해야 합니다. httpstatuses.com은 그리드 형태로 코드를 보여 주지만 원인과 실질적인 해결 방법은 다루지 않습니다. restapitutorial.com은 인터랙티브 조회 없이 REST 규칙만 다루고, HTTP.cat은 재미있는 밈 사이트(각 코드가 고양이 사진에 대응)지만 실제 디버깅에는 실용적이지 않습니다. 이 도구는 검색 가능한 참고서, 클래스 필터, 치트시트 모드, 명확한 한국어 원인·해결 방법, Cloudflare 5xx 코드, RFC 링크를 한 페이지에서 광고와 회원가입 없이 오프라인으로 제공합니다.

이 HTTP 상태 코드 참고서는 무료이고 개인 정보는 보호되나요?

완전히 무료이며 개인 정보도 안전합니다. 전체 목록이 페이지 내부에 정적 데이터로 탑재되어 있어 모든 검색, 필터, 조회가 브라우저 내에서 로컬로 실행됩니다. 어떤 정보도 업로드되거나, 기록되거나, 서버로 전송되지 않습니다. 페이지가 열리면 즉시 로드되고 오프라인에서도 작동합니다. 회원가입, 계정, 이용 횟수 제한, 유료 기능이 없습니다. 스마트폰에서도 데스크톱만큼 빠르고 개인 정보를 지키며 사용할 수 있는 참고서입니다.