logo
GeekFormat

HTTP 상태 코드 조회

고빈도 상태 코드

검색 결과 (77)

100
1xx
Continue
已收到请求头,客户端应继续发送请求体
101
1xx
Switching Protocols
服务器正按 Upgrade 切换协议(如 WebSocket)
102
1xx
Processing
已接受请求,处理尚未结束(WebDAV)
103
1xx
Early Hints
在最终响应前返回 Link 等提示以预加载资源
104
1xx
Upload Resumption Supported
表明支持可恢复上传(IANA 临时注册,详见 httpbis 可恢复上传草案)
200
2xx
OK
请求成功
201
2xx
Created
已创建资源
202
2xx
Accepted
已接受,尚未处理完成(异步任务常见)
203
2xx
Non-Authoritative Information
成功,表示可能来自代理/缓存
204
2xx
No Content
成功,无响应体
205
2xx
Reset Content
成功,客户端应重置文档或表单视图
206
2xx
Partial Content
成功返回部分内容(Range)
207
2xx
Multi-Status
多状态 XML响应(WebDAV)
208
2xx
Already Reported
DAV 绑定成员已在先前响应中列出(WebDAV)
226
2xx
IM Used
已应用实例操作(Delta 编码,RFC 3229)
300
3xx
Multiple Choices
多种表示可选,需选择或重定向
301
3xx
Moved Permanently
资源永久迁移至新 URI
302
3xx
Found
资源临时位于其他 URI
303
3xx
See Other
应使用 GET 访问另一 URI 获取结果
304
3xx
Not Modified
缓存仍有效
305
3xx
Use Proxy
须经由代理(已弃用,不建议实现)
306
3xx
(Unused)
历史占位,HTTP/1.1 起未使用
307
3xx
Temporary Redirect
临时重定向,方法与正文不变
308
3xx
Permanent Redirect
永久重定向,方法与正文不变
400
4xx
Bad Request
语法无效,无法解析
401
4xx
Unauthorized
需身份验证(常配合 WWW-Authenticate)
402
4xx
Payment Required
预留,极少实现
403
4xx
Forbidden
拒绝访问(与401 不同:未必缺凭证)
404
4xx
Not Found
未找到资源
405
4xx
Method Not Allowed
该 URI 不支持此 HTTP 方法
406
4xx
Not Acceptable
无法生成 Accept 可接受的表示
407
4xx
Proxy Authentication Required
需先通过代理认证
408
4xx
Request Timeout
等待请求超时
409
4xx
Conflict
与资源当前状态冲突
410
4xx
Gone
资源曾存在且已永久移除
411
4xx
Length Required
缺少有效 Content-Length 等
412
4xx
Precondition Failed
前置条件(如 If-*)不满足
413
4xx
Content Too Large
请求体过大(RFC 9110 用语)
414
4xx
URI Too Long
URI 过长
415
4xx
Unsupported Media Type
不支持的媒体类型
416
4xx
Range Not Satisfiable
无法满足 Range
417
4xx
Expectation Failed
无法满足 Expect 头
418
4xx
(Unused)
RFC 9110 标记未使用;典故为 RFC 2324「I'm a teapot」
421
4xx
Misdirected Request
请求未指向能响应的服务器/连接(如 HTTP/2)
422
4xx
Unprocessable Content
语义可理解但无法处理(校验失败等)
423
4xx
Locked
资源被锁定(WebDAV)
424
4xx
Failed Dependency
依赖请求失败(WebDAV)
425
4xx
Too Early
拒绝可能重放的过早请求
426
4xx
Upgrade Required
需升级到 Upgrade 指定的协议
428
4xx
Precondition Required
源站要求条件请求以防冲突
429
4xx
Too Many Requests
请求过于频繁,应限速
431
4xx
Request Header Fields Too Large
请求头整体或单项过大
444
vendor
No Response (nginx)
Nginx 直接关连接不返回状态行(常见于限流/屏蔽)
451
4xx
Unavailable For Legal Reasons
因法律原因不可提供
495
vendor
SSL Certificate Error (nginx)
Nginx:客户端证书校验失败
496
vendor
SSL Certificate Required (nginx)
Nginx:需要客户端证书
497
vendor
HTTP to HTTPS Port (nginx)
Nginx:向 HTTPS 端口发送明文 HTTP
499
vendor
Client Closed Request (nginx)
客户端在响应完成前关闭连接
500
5xx
Internal Server Error
服务器内部错误
501
5xx
Not Implemented
不支持该方法或能力
502
5xx
Bad Gateway
网关从上游收到无效响应
503
5xx
Service Unavailable
过载或维护,暂不可用
504
5xx
Gateway Timeout
网关等待上游超时
505
5xx
HTTP Version Not Supported
不支持请求中的 HTTP 版本
506
5xx
Variant Also Negotiates
透明协商配置错误
507
5xx
Insufficient Storage
存储空间不足(WebDAV)
508
5xx
Loop Detected
检测到循环(WebDAV)
510
5xx
Not Extended
需扩展(RFC 2774 实验状态,IANA 标为 OBSOLETED,可忽略)
511
5xx
Network Authentication Required
需在网络层认证(如强制门户)
520
vendor
Unknown Error (Cloudflare)
源站返回异常或空响应
521
vendor
Web Server Is Down (Cloudflare)
无法与源站建立 TCP
522
vendor
Connection Timed Out (Cloudflare)
与源站握手或连接超时
523
vendor
Origin Is Unreachable (Cloudflare)
无法路由到源站
524
vendor
A Timeout Occurred (Cloudflare)
源站已连接但未及时返回完整响应
525
vendor
SSL Handshake Failed (Cloudflare)
与源站 SSL 握手失败
526
vendor
Invalid SSL Certificate (Cloudflare)
源站证书无效
527
vendor
Railgun Error (Cloudflare)
Railgun 边缘到源监听错误(Cloudflare 专用)

1xx 정보/2xx 성공/3xx 리디렉션/4xx 클라이언트 오류/5xx 서버 오류의 5가지 카테고리와 벤더 확장 코드를 완벽하게 지원하는 무료 HTTP 상태 코드 참조 도구입니다. 카테고리 필터링과 키워드 검색을 지원하며 개발 디버깅에 필수입니다.

관련 추천

사용 사례

  • Web/API 개발 디버깅: API 오류 시 상태 코드 의미를 빠르게 조회하여 트러블슈팅 방향 판단(프론트엔드 파라미터인지 백엔드 버그인지)
  • API 연동 트러블슈팅: 401 인증 실패, 403 권한 부족, 404 주소 오류, 500 서버 오류 구분
  • 운영 장애 트러블슈팅: 502/503/504/522/524 오류 발생 시 원인과 해결책 빠르게 파악
  • SEO 작업: 301/302 리디렉션 유형이 올바른지 확인, 404 오류 페이지 처리가 적절한지 점검
  • HTTP 프로토콜 학습: 초보자가 HTTP 상태 코드 분류와 각 코드의 용도를 체계적으로 학습
  • 면접 준비: 프론트엔드/백엔드 면접에서 자주 나오는 301 vs 302, 401 vs 403, 502 vs 504 차이 확인
  • 로그 분석: Nginx/Apache/CDN 액세스 로그 분석 시 각 상태 코드 의미 이해

주요 기능

  • 완벽한 지원: 표준 1xx-5xx 상태 코드 + Cloudflare/Nginx 벤더 확장 코드(5xx vendor), 한 곳에서 모두 확인
  • 바로가기 카드: 가장 자주 사용되는 12개 코드(200/301/302/304/400/401/403/404/429/500/502/503), 카드를 클릭하여 직접 세부 정보 보기
  • 카테고리 필터링: 1xx/2xx/3xx/4xx/5xx/vendor 카테고리로 원클릭 필터링, 문제 유형 빠르게 파악
  • 키워드 검색: 상태 코드 번호, 영어 이름, 설명으로 퍼지 검색을 지원하여 대상 코드를 빠르게 찾기
  • 색상 구분: 2xx 녹색(성공), 3xx/4xx 노란색(주의/클라이언트 문제), 5xx 빨간색(서버 문제)으로 시각적으로 직관적 판단
  • 데스크톱 테이블/모바일 카드: 데스크톱에서는 전체 테이블 뷰, 모바일에서는 반응형 카드 뷰로 모든 디바이스에서 편리하게 사용
  • 필터 결과 요약 원클릭 복사: 현재 필터 조건과 결과 개수를 복사하여 티켓/문서 기록에 활용

이용 방법

  1. 검색창에 상태 코드 번호(예: 404) 또는 키워드(redirect, forbidden, timeout 등)를 입력
  2. 또는 카테고리 버튼(1xx/2xx/3xx/4xx/5xx/vendor)을 클릭하여 카테고리별로 탐색
  3. 자주 사용되는 상태 코드 카드를 클릭하면 해당 코드를 빠르게 필터링
  4. 상태 코드의 이름, 카테고리 색상, 자세한 설명 확인
  5. 복사 버튼을 클릭하여 현재 필터 요약을 복사하여 트러블슈팅 기록에 사용

자주 묻는 질문

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

HTTP 상태 코드는 서버가 클라이언트의 HTTP 요청에 대해 반환하는 3자리 숫자 코드로, 요청이 성공했는지 실패했는지 또는 추가 작업이 필요한지 여부를 나타냅니다. 5가지 카테고리로 분류됩니다: 1xx 정보, 2xx 성공, 3xx 리디렉션, 4xx 클라이언트 오류, 5xx 서버 오류. 개발 디버깅 시 상태 코드를 통해 문제 방향을 빠르게 파악할 수 있습니다: 2xx 성공은 조치 불필요; 4xx는 요청 파라미터/인증/권한/속도 제한 확인; 5xx는 서버 로그 확인.

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

핵심 차이: 301은 **영구 리디렉션**으로 브라우저/검색 엔진이 새 주소를 캐시하고 SEO 가중치가 새 URL로 이전됩니다; 302는 **임시 리디렉션**으로 캐시되지 않고 가중치도 이전되지 않습니다. 메서드 변경에도 중요한 차이가 있습니다: 역사적으로 301/302는 POST를 GET으로 변경할 수 있었지만(엄격하지 않은 동작), 307/308은 원래 요청 메서드를 엄격히 유지합니다. HTTPS 전환, 도메인 이전, URL 영구 변경에는 301을; 임시 유지보수 리디렉션, 이벤트 페이지에는 302 또는 307을 사용하세요.

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

401 Unauthorized는 '인증되지 않음' — 당신이 누구인지 모르므로 먼저 로그인하거나 Token을 제공해야 합니다(보통 WWW-Authenticate 헤더를 동반합니다); 403 Forbidden은 '인증은 됐지만 권한 없음' — 서버가 당신이 누구인지 알고 있지만 이 리소스에 접근할 권한이 없습니다. 쉽게 말해: 401은 '출입증을 가져오지 않음', 403은 '출입증은 있지만 이 방에는 들어갈 수 없음'입니다.

502, 503, 504의 차이는 무엇인가요?

모두 서버 오류이지만 원인이 다릅니다: 502 Bad Gateway는 리버스 프록시가 업스트림에서 **무효한 응답**을 받았습니다(백엔드 크래시/프로토콜 오류); 503 Service Unavailable은 서버가 **일시적으로 사용 불가**합니다(과부하/유지보수/서비스 미가동); 504 Gateway Timeout은 프록시 서버가 **업스트림 대기 타임아웃**되었습니다(백엔드 처리 너무 느림/데이터베이스 느린 쿼리). 트러블슈팅 시: 502는 백엔드 프로세스가 살아있는지, 오류 로그 확인; 503은 서비스 상태/속도 제한/유지보수 페이지 확인; 504는 백엔드 성능/느린 쿼리/타임아웃 설정을 확인하세요.

200 OK와 204 No Content는 어떻게 구분하나요?

200 OK는 표준 성공 응답으로 응답 body를 반환할 수 있습니다(쿼리 결과, 생성 후 리소스 데이터 등); 204 No Content는 성공했지만 **응답 body를 반환하지 않음**을 나타내며 DELETE 삭제 성공, 데이터를 반환할 필요가 없는 PUT/POST 업데이트 성공에 자주 사용됩니다. 204 응답에는 body를 포함해서는 안 됩니다.

429 속도 제한 오류는 어떻게 처리하나요?

429 Too Many Requests는 클라이언트 요청 빈도가 서버 제한을 초과했음을 나타냅니다. 응답에는 보통 Retry-After 헤더가 포함되어 몇 초 후에 재시도해야 하는지 알려줍니다. 클라이언트는 지수 백오프(Exponential Backoff)를 구현해야 합니다: 첫 번째 재시도는 1초 대기, 두 번째는 2초, 세 번째는 4초... 또한 X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset 응답 헤더를 확인하여 속도 제한 할당량을 파악하세요.

Cloudflare의 520-527과 같은 벤더 확장 코드란 무엇인가요?

표준 HTTP 상태 코드는 100-599 범위에서 정의되고 대부분 IANA에 등록되어 있지만, CDN/프록시 서버 벤더는 자체 확장 코드를 정의합니다: Cloudflare는 오리진 연결 문제를 나타내는 520-527 시리즈를 정의하고(521 오리진 거부, 522 연결 타임아웃, 524 응답 타임아웃 등); Nginx는 499(클라이언트 연결 종료)를 정의합니다. 이 코드들은 표준 HTTP 코드는 아니지만 실제 운영 트러블슈팅에서 자주 나타나므로, 본 도구에는 자주 사용되는 벤더 확장 코드가 포함되어 있습니다.

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

HTTP 상태 코드(HTTP Status Code)는 서버가 HTTP 요청에 응답할 때 반환하는 3자리 숫자 코드로, 요청 처리 결과를 나타냅니다——성공했는지 실패했는지? 실패했다면 클라이언트 문제인지 서버 문제인지? 리디렉션이 필요한지? 이것은 웹 개발과 운영에서 가장 기본적이고 중요한 진단 정보 중 하나입니다.

상태 코드는 첫 번째 자리 숫자에 따라 5가지 카테고리로 분류됩니다: **1xx 정보 응답**(요청 수신, 처리 계속, 실무에서는 잘 보지 못함); **2xx 성공**(요청이 정상 처리됨, 가장 흔한 것은 200 OK); **3xx 리디렉션**(클라이언트의 추가 작업 필요, 예: 301 영구 리디렉션, 302 임시 리디렉션, 304 캐시 히트); **4xx 클라이언트 오류**(요청에 문제 있음, 예: 400 파라미터 오류, 401 로그인 안 됨, 403 권한 없음, 404 찾을 수 없음, 429 속도 제한); **5xx 서버 오류**(서버 처리 실패, 예: 500 내부 오류, 502 Bad Gateway, 503 사용 불가, 504 타임아웃).

**왜 4xx와 5xx를 구분해야 하나요?** 이것은 트러블슈팅의 최우선 판단 사항입니다: 4xx가 보이면 먼저 자신의 요청을 확인해야 합니다——URL이 올바른지, 파라미터가 완전한지, Token이 포함되었는지, 권한이 충분한지, 요청이 너무 잦지 않은지; 5xx가 보이면 서버 로그를 확인해야 합니다——백엔드 프로세스가 정상인지, 데이터베이스가 연결되었는지, 설정이 올바른지, 과부하가 아닌지. 방향을 잘못 잡으면 디버깅에 막대한 시간을 낭비합니다.

**리디렉션 상태 코드의 차이는 빈출 주제입니다**: 301은 영구 리디렉션(SEO 가중치 이전, 브라우저 캐시), 302는 임시 리디렉션(가중치 이전 안 함), 307/308은 요청 메서드를 엄격히 유지(POST가 GET으로 변경되지 않음). 실무에서는 HTTPS 전환, 도메인 이전에 301을, 임시 유지보수에 302를, POST 폼 제출 후 리디렉션에 303(PRG 패턴)을 사용합니다.

본 도구는 **모든 표준 HTTP 상태 코드**(혼동하기 쉬운 303/307/308, 405/409/422/429 등 포함)와 Cloudflare/Nginx 등 자주 사용되는 벤더 확장 코드(520-527, 499)를 **완벽하게 수록**하고 있습니다. 카테고리 필터링, 키워드 검색, 바로가기 카드를 지원하며 개발 디버깅, API 트러블슈팅, 운영 장애 진단에 없어선 안 될 일상적인 참조 도구입니다.

术语表

HTTP
HyperText Transfer Protocol, 월드 와이드 웹 데이터 통신의 기반 프로토콜로 TCP/IP 기반에서 동작하며 요청-응답 모델을 사용합니다. 현재 주류 버전은 HTTP/1.1과 HTTP/2이며, HTTP/3은 QUIC 기반입니다.
멱등성 (Idempotence)
동일한 요청을 여러 번 실행해도 한 번 실행한 것과 효과가 같은 것입니다. GET/HEAD/PUT/DELETE/OPTIONS/TRACE는 멱등적입니다; POST는 멱등적이지 않습니다(여러 번 제출하면 여러 리소스가 생성됨). 307/308이 메서드를 유지하는 중요한 이유 중 하나는 멱등성을 유지하기 위해서입니다.
CORS (교차 출처 리소스 공유)
Cross-Origin Resource Sharing, 브라우저의 동일 출처 정책 하에서의 교차 출처 접근 메커니즘입니다. CORS 프리플라이트 요청(OPTIONS)이 405 Method Not Allowed나 CORS 관련 오류를 반환할 수 있으며, 프론트엔드 개발에서 가장 자주 접하는 문제 중 하나입니다.
PRG 패턴 (Post/Redirect/Get)
웹 폼 제출 모범 사례: POST로 폼을 제출한 후 303 See Other로 결과 페이지로 리디렉션하여 사용자가 새로고침해도 중복 제출되지 않도록 합니다. 이것이 303의 가장 대표적인 사용 사례입니다.
Retry-After
HTTP 응답 헤더로, 503 Service Unavailable 또는 429 Too Many Requests와 함께 사용되어 클라이언트가 몇 초 후에 요청을 재시도할 수 있는지 알려줍니다.
WWW-Authenticate
HTTP 응답 헤더로, 401 Unauthorized와 함께 사용되어 클라이언트가 어떤 인증 스키마(Basic/Bearer/Digest 등)와 영역(realm)을 사용해야 하는지 알려줍니다.
ETag / If-None-Match
캐시 검증 메커니즘입니다. 서버는 리소스 버전을 식별하는 ETag를 반환하고, 클라이언트는 다음 요청에서 If-None-Match 헤더를 전송합니다. 리소스가 변경되지 않았다면 서버는 304 Not Modified를 반환합니다(body 없음, 대역폭 절약).
리버스 프록시 (Reverse Proxy)
클라이언트와 백엔드 서버 사이에 위치한 프록시 서버(Nginx, Cloudflare, HAProxy 등)로, 클라이언트 요청을 받아 백엔드에 전달하고 백엔드 응답을 클라이언트에 반환합니다. 502/503/504 오류는 모두 리버스 프록시와 백엔드 사이에서 발생합니다.

HTTP 상태 코드 5가지 카테고리 개요

분류의미목적자주 사용되는 코드
1xx정보 응답 (Informational)요청이 수신되어 처리 계속 중 (프로토콜 중간 상태)100 Continue, 101 Switching Protocols
2xx성공 응답 (Success)요청이 서버에서 성공적으로 수신, 이해, 수용됨200 OK, 201 Created, 204 No Content, 206 Partial Content
3xx리디렉션 (Redirection)요청 완료를 위해 클라이언트의 추가 작업이 필요301 Moved Permanently, 302 Found, 304 Not Modified, 307/308
4xx클라이언트 오류 (Client Error)요청에 구문 오류가 있거나 실행 불가, 클라이언트 측 원인400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests
5xx서버 오류 (Server Error)서버가 명백히 유효한 요청 처리에 실패, 서버 측 원인500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout

자주 사용되는 리디렉션 코드 비교(301/302/303/307/308)

코드이름영구적메서드 변경캐시 가능대표적인 사용 사례
301Moved Permanently✅ 영구POST가 GET으로 변경될 수 있음(역사적 호환)✅ 기본적으로 캐시사이트 개편, 도메인 이전, HTTP→HTTPS, 구 URL 폐기
302Found❌ 임시POST가 GET으로 변경될 수 있음(역사적 호환)❌ 기본적으로 캐시 안 함임시 유지보수 리디렉션, 이벤트 페이지, A/B 테스트
303See Other❌ 임시POST→GET(명시적 변경)❌ 기본적으로 캐시 안 함POST 폼 제출 후 결과 페이지로 리디렉션(PRG 패턴)
307Temporary Redirect❌ 임시원래 메서드를 엄격히 유지❌ 기본적으로 캐시 안 함요청 메서드와 body를 엄격히 유지하는 임시 리디렉션
308Permanent Redirect✅ 영구원래 메서드를 엄격히 유지✅ 기본적으로 캐시POST가 GET으로 변경되지 않는 영구 리디렉션

흔한 클라이언트 오류 코드 트러블슈팅

코드의미흔한 원인해결 방향
400Bad Request요청 구문 오류/파라미터 누락/JSON 형식 오류/헤더 너무 큼요청 파라미터, Content-Type, URL 인코딩 확인
401Unauthorized인증 안 됨/Token 만료/Authorization 헤더 없음로그인 상태, Token 만료 여부, Bearer 헤더 형식 확인
403Forbidden인증은 됐지만 권한 없음/IP 차단/CSRF Token 무효/WAF 차단사용자 권한, IP 화이트리스트, WAF 규칙, CSRF Token 확인
404Not FoundURL이 존재하지 않음/리소스 삭제됨/라우팅 설정 오류URL 철자, 라우팅 설정, 리소스 삭제 여부 확인
405Method Not Allowed요청 메서드가 잘못됨(GET 전용 엔드포인트에 POST 등)HTTP 메서드(GET/POST/PUT/DELETE 등), CORS 프리플라이트 확인
408Request Timeout클라이언트 요청 전송이 너무 느림/네트워크 지연/서버 타임아웃 설정 너무 짧음네트워크 연결 확인, 타임아웃 시간 증가, 분할 업로드
409Conflict리소스 충돌(중복 생성, 버전 충돌, 동시 수정 등)중복 제출 여부 확인, 낙관적 락/멱등성 키 사용
413Payload Too Large업로드 파일/요청 body가 서버 제한 초과nginx client_max_body_size 확인, 파일 압축, 청크 업로드
422Unprocessable Entity요청 형식은 맞지만 의미적 오류(필드 검증 실패 등)RESTful API 파라미터 검증, 필수 필드, 데이터 타입, 형식 확인
429Too Many Requests속도 제한 도달/요청 빈도 너무 높음요청 빈도 낮추기, 재시도 백오프 추가, 상향 요청

흔한 서버 오류와 Cloudflare 확장 코드

코드의미흔한 원인
500Internal Server Error서버 코드 예외/캐치되지 않은 오류/데이터베이스 연결 실패/설정 오류
501Not Implemented서버가 요청된 기능을 지원하지 않음(지원하지 않는 HTTP 메서드 등)
502Bad Gateway리버스 프록시(nginx/CDN)가 업스트림에서 무효한 응답 수신/백엔드 프로세스 크래시/PHP-FPM 미가동
503Service Unavailable서버 과부하/유지보수 중/백엔드 서비스 미가동/커넥션 풀 고갈
504Gateway Timeout리버스 프록시가 업스트림 응답 대기 타임아웃/백엔드 처리 너무 느림/데이터베이스 느린 쿼리
520Web Server Returned Unknown Error (CF)Cloudflare: 오리진이 알 수 없거나 비정상적인 응답을 반환함(프로토콜 오류/빈 응답/상태 코드 없음)
521Web Server Is Down (CF)Cloudflare: 오리진 서버가 연결 거부(오리진 다운/방화벽이 CF IP 차단)
522Connection Timed Out (CF)Cloudflare: 오리진과 TCP 연결을 설정할 수 없음(오리진 방화벽/보안 그룹/iptables)
523Origin Is Unreachable (CF)Cloudflare: 오리진 IP에 도달할 수 없음(오리진 서버가 존재하지 않음/라우팅 문제)
524A Timeout Occurred (CF)Cloudflare: TCP 연결은 성공했지만 오리진이 HTTP 응답 반환 타임아웃(>100초), 느린 쿼리/장시간 작업에서 발생
499Client Closed Request (Nginx)Nginx 확장 코드: 서버가 응답을 반환하기 전에 클라이언트가 연결을 닫음(사용자 취소/프론트엔드 타임아웃)

Authoritative References