본문으로 건너뛰기
ToolMug

HTTP 상태 코드

검색 가능한 HTTP 응답 상태 코드 전체 목록이에요. 코드마다 의미와 정의된 문서를 짧게 설명해 두어 로그나 브라우저에서 본 오류를 빠르게 이해할 수 있어요.

브라우저에서 실행 — 입력한 내용은 업로드되지 않아요

100

ContinueRFC 9110

서버가 요청 헤더를 받았으며, 클라이언트는 본문을 보내도 됩니다.

101

Switching ProtocolsRFC 9110

서버가 클라이언트가 요청한 프로토콜(예: WebSocket)로 전환하고 있습니다.

103

Early HintsRFC 8297

최종 응답 전에 보내는 예비 헤더로, 주로 Link 프리로드 힌트입니다.

200

OKRFC 9110

요청이 성공했습니다.

201

CreatedRFC 9110

요청이 성공했고 새 리소스가 만들어졌습니다. 보통 POST나 PUT 뒤에 반환됩니다.

202

AcceptedRFC 9110

요청이 처리 대상으로 접수되었지만 처리는 아직 끝나지 않았습니다.

203

Non-Authoritative InformationRFC 9110

변환 프록시가 응답을 수정했습니다.

204

No ContentRFC 9110

요청이 성공했고 반환할 본문이 없습니다.

205

Reset ContentRFC 9110

요청이 성공했습니다. 클라이언트는 폼 비우기처럼 문서 화면을 초기화해야 합니다.

206

Partial ContentRFC 9110

Range 요청에 대한 응답으로 리소스의 일부만 반환합니다.

207

Multi-StatusRFC 4918 (WebDAV)

여러 작업에 대한 여러 상태 코드를 XML 본문으로 반환합니다.

208

Already ReportedRFC 5842 (WebDAV)

binding의 구성원이 이 응답의 앞부분에 이미 나열되었습니다.

226

IM UsedRFC 3229

응답이 델타 인코딩 같은 인스턴스 조작의 결과입니다.

300

Multiple ChoicesRFC 9110

선택할 수 있는 표현이 여러 개 있습니다.

301

Moved PermanentlyRFC 9110

리소스가 Location의 URL로 영구 이동했습니다. 검색 엔진은 순위를 새 URL로 넘깁니다.

302

FoundRFC 9110

리소스가 일시적으로 다른 URL에 있습니다. 브라우저는 따라갈 때 POST를 GET으로 바꿀 수 있습니다.

303

See OtherRFC 9110

다른 URL에서 GET으로 결과를 가져오세요. 보통 폼 제출 뒤에 사용합니다.

304

Not ModifiedRFC 9110

조건부 요청에 대한 응답으로, 캐시된 사본이 아직 유효합니다.

307

Temporary RedirectRFC 9110

요청 메서드와 본문을 유지하는 임시 리디렉션입니다.

308

Permanent RedirectRFC 9110

요청 메서드와 본문을 유지하는 영구 리디렉션입니다.

400

Bad RequestRFC 9110

요청 형식이 잘못되어 서버가 처리할 수 없습니다.

401

UnauthorizedRFC 9110

인증이 필요하거나 실패했습니다. 응답에 WWW-Authenticate가 포함됩니다.

402

Payment RequiredRFC 9110

향후 사용을 위해 예약되어 있으며, 일부 API는 결제 문제에 사용합니다.

403

ForbiddenRFC 9110

서버가 요청을 이해했지만 거부합니다. 다시 로그인해도 소용없습니다.

404

Not FoundRFC 9110

리소스가 없거나, 서버가 있다는 사실을 밝히지 않으려는 경우입니다.

405

Method Not AllowedRFC 9110

이 리소스에서는 해당 메서드를 지원하지 않습니다. Allow 헤더에 유효한 메서드가 나열됩니다.

406

Not AcceptableRFC 9110

요청의 Accept 헤더와 맞는 표현이 없습니다.

407

Proxy Authentication RequiredRFC 9110

클라이언트가 먼저 프록시에 인증해야 합니다.

408

Request TimeoutRFC 9110

서버가 요청을 기다리다 시간 초과되었습니다.

409

ConflictRFC 9110

요청이 리소스의 현재 상태와 충돌합니다. 예를 들어 편집 충돌입니다.

410

GoneRFC 9110

리소스가 영구 삭제되어 다시 돌아오지 않습니다.

411

Length RequiredRFC 9110

요청에 Content-Length 헤더가 필요합니다.

412

Precondition FailedRFC 9110

If-Match 같은 요청 헤더의 조건이 충족되지 않았습니다.

413

Content Too LargeRFC 9110

요청 본문이 서버 허용 크기보다 큽니다. 예전 이름은 "Payload Too Large"입니다.

414

URI Too LongRFC 9110

URL이 서버가 처리할 수 있는 길이보다 깁니다.

415

Unsupported Media TypeRFC 9110

Content-Type으로 지정한 요청 본문 형식을 지원하지 않습니다.

416

Range Not SatisfiableRFC 9110

요청한 Range가 리소스 범위를 벗어났습니다.

417

Expectation FailedRFC 9110

Expect 요청 헤더의 조건을 충족할 수 없습니다.

418

I'm a teapotRFC 2324 (April Fools)

Hyper Text Coffee Pot Control Protocol의 만우절 농담으로, 일부 서버가 그대로 두고 있습니다.

421

Misdirected RequestRFC 9110

요청이 이 호스트에 응답할 수 없는 서버에 도달했습니다. 예를 들어 연결을 재사용한 경우입니다.

422

Unprocessable ContentRFC 9110

요청 형식은 올바르지만 내용이 유효하지 않습니다. 예를 들어 검증에 실패한 경우입니다.

423

LockedRFC 4918 (WebDAV)

리소스가 잠겨 있습니다.

424

Failed DependencyRFC 4918 (WebDAV)

의존하던 다른 요청이 실패해서 이 요청도 실패했습니다.

425

Too EarlyRFC 8470

서버는 재전송될 수 있는 요청을 처리하지 않습니다(TLS early data).

426

Upgrade RequiredRFC 9110

클라이언트는 Upgrade 헤더에 지정된 다른 프로토콜로 전환해야 합니다.

428

Precondition RequiredRFC 6585

업데이트 유실을 막기 위해 서버가 조건부 요청을 요구합니다.

429

Too Many RequestsRFC 6585

요청 한도를 초과했습니다. Retry-After가 다시 시도할 시점을 알려 줍니다.

431

Request Header Fields Too LargeRFC 6585

헤더가 너무 큽니다. 쿠키가 큰 경우가 많습니다.

451

Unavailable For Legal ReasonsRFC 7725

법원 명령 같은 법적 사유로 리소스가 차단되었습니다.

499

Client Closed RequestNginx · 비표준

Nginx 로그용 코드: 서버가 응답하기 전에 클라이언트가 연결을 끊었습니다.

500

Internal Server ErrorRFC 9110

서버에서 예기치 않은 오류가 발생했습니다.

501

Not ImplementedRFC 9110

서버가 필요한 기능을 지원하지 않습니다.

502

Bad GatewayRFC 9110

게이트웨이나 프록시가 업스트림 서버로부터 잘못된 응답을 받았습니다.

503

Service UnavailableRFC 9110

과부하나 점검 등으로 서버가 일시적으로 요청을 처리할 수 없습니다.

504

Gateway TimeoutRFC 9110

게이트웨이나 프록시가 업스트림에서 제때 응답을 받지 못했습니다.

505

HTTP Version Not SupportedRFC 9110

요청의 HTTP 버전을 지원하지 않습니다.

506

Variant Also NegotiatesRFC 2295

투명 콘텐츠 협상 설정에 오류가 있습니다.

507

Insufficient StorageRFC 4918 (WebDAV)

서버가 요청을 완료하는 데 필요한 내용을 저장할 수 없습니다.

508

Loop DetectedRFC 5842 (WebDAV)

서버가 요청을 처리하다가 무한 루프를 발견했습니다.

511

Network Authentication RequiredRFC 6585

네트워크에 로그인해야 합니다. 호텔 Wi-Fi 같은 캡티브 포털에서 흔히 나타납니다.

520

Web Server Returned an Unknown ErrorCloudflare · 비표준

Cloudflare: 오리진 서버가 비어 있거나 알 수 없거나 예상치 못한 응답을 반환했습니다.

521

Web Server Is DownCloudflare · 비표준

Cloudflare: 오리진 서버가 연결을 거부했습니다.

522

Connection Timed OutCloudflare · 비표준

Cloudflare: 오리진 서버로의 TCP 연결이 시간 초과되었습니다.

524

A Timeout OccurredCloudflare · 비표준

Cloudflare: 오리진이 연결은 수락했지만 제때 응답하지 않았습니다.

사용 방법

  1. 검색창에 502나 redirect처럼 코드나 단어를 입력하세요.
  2. 또는 분류별로 필터링하세요. 정보, 성공, 리디렉션, 클라이언트 오류, 서버 오류로 나뉘어요.
  3. 특정 코드로 바로 연결하려면 페이지 주소 뒤에 #404처럼 번호를 붙이세요.

옵션 설명

분류
1xx 정보, 2xx 성공, 3xx 리디렉션, 4xx 클라이언트 오류(요청에 문제가 있음), 5xx 서버 오류(서버에 문제가 있음).
비표준
Nginx 499, Cloudflare 520–524 같은 코드는 어떤 RFC에도 없지만 로그에 자주 나타나요.

리다이렉트 코드 고르기

RFC 9110의 리다이렉트 코드 다섯 가지는 이동이 영구적인지, 그리고 클라이언트가 리다이렉트를 따라갈 때 요청 메서드를 바꿀 수 있는지 두 가지 면에서 달라요.

코드 의미 영구 여부 리다이렉트 후 메서드
301 Moved Permanently 예 POST에서 GET으로 바뀔 수 있음
302 Found 아니요 POST에서 GET으로 바뀔 수 있음
303 See Other 아니요 항상 GET이 됨
307 Temporary Redirect 아니요 같아야 함
308 Permanent Redirect 예 같아야 함

일반적인 페이지 이동이나 HTTP에서 HTTPS로의 리다이렉트에는 301이 보통의 선택이에요. 양식이나 API 호출 같은 POST 요청이 그대로 새 주소에 도달해야 한다면 308 또는 307을 쓰세요. 양식 제출이 성공한 뒤 브라우저를 GET으로 가져오는 결과 페이지로 보낼 때는 303을 쓰세요.

자주 묻는 질문

301과 302는 뭐가 다른가요?

301은 영구 이동이라 브라우저와 검색 엔진이 새 URL로 업데이트해요. 302는 임시 이동이에요. 요청 메서드와 본문이 바뀌면 안 된다면 308이나 307을 쓰세요.

401과 403은 뭐가 다른가요?

401은 인증되지 않았다는 뜻이라 로그인하고 다시 시도하면 돼요. 403은 인증되었거나 신원은 확인되었지만 권한이 없다는 뜻이라 다시 로그인해도 소용없어요.

502 Bad Gateway는 무슨 뜻인가요?

프록시나 로드 밸런서가 뒤에 있는 애플리케이션에서 유효한 응답을 받지 못했다는 뜻이에요. 보통 애플리케이션이 다운됐거나, 재시작 중이거나, 요청을 받지 않고 있을 때 생겨요.

개인정보 보호

이 도구는 전적으로 브라우저에서 실행돼요. 파일과 텍스트는 기기에서 처리되며 서버로 업로드되지 않아요.

관련 도구