본문으로 건너뛰기
툴허브

HTTP 상태코드 레퍼런스

60개 이상의 HTTP 상태코드 의미, 원인, 해결 방법을 검색하세요

39개 코드

100
1xxContinue

요청의 첫 부분을 받았으며 계속 진행해도 됩니다

101
1xxSwitching Protocols

서버가 프로토콜 전환 요청을 수락했습니다

102
1xxProcessing

서버가 요청을 수신하여 처리 중이지만 아직 응답이 없습니다

103
1xxEarly Hints

최종 응답 전에 미리 힌트를 제공합니다

200
2xxOK

요청이 성공적으로 처리되었습니다

201
2xxCreated

요청이 성공하여 새 리소스가 생성되었습니다

202
2xxAccepted

요청을 수신했지만 아직 처리가 완료되지 않았습니다

204
2xxNo Content

요청은 성공했지만 반환할 콘텐츠가 없습니다

206
2xxPartial Content

요청한 리소스의 일부분만 전송됩니다

207
2xxMulti-Status

여러 상태 코드가 적절한 다중 리소스 응답입니다

300
3xxMultiple Choices

요청한 리소스에 여러 가지 버전이 있습니다

301
3xxMoved Permanently

요청한 리소스가 영구적으로 새 URL로 이동했습니다

302
3xxFound

요청한 리소스가 임시로 다른 URL로 이동했습니다

303
3xxSee Other

다른 URI에서 GET 요청으로 리소스를 찾으세요

304
3xxNot Modified

리소스가 수정되지 않아 캐시된 버전을 사용하세요

307
3xxTemporary Redirect

요청을 임시 URL로 리다이렉트하되 메서드를 유지합니다

308
3xxPermanent Redirect

요청을 영구 URL로 리다이렉트하되 메서드를 유지합니다

400
4xxBad Request

서버가 요청을 이해할 수 없습니다

401
4xxUnauthorized

인증이 필요합니다

402
4xxPayment Required

결제가 필요합니다

403
4xxForbidden

서버가 요청을 거부합니다

404
4xxNot Found

요청한 리소스를 찾을 수 없습니다

405
4xxMethod Not Allowed

요청 메서드가 허용되지 않습니다

406
4xxNot Acceptable

클라이언트가 수락 가능한 응답 형식이 없습니다

408
4xxRequest Timeout

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

409
4xxConflict

요청이 서버의 현재 상태와 충돌합니다

410
4xxGone

요청한 리소스가 영구적으로 삭제되었습니다

413
4xxContent Too Large

요청 본문이 서버 허용 한도를 초과합니다

414
4xxURI Too Long

URI가 서버가 처리할 수 있는 것보다 깁니다

415
4xxUnsupported Media Type

지원하지 않는 미디어 타입으로 요청했습니다

418
4xxI'm a teapot

나는 주전자입니다. 커피를 끓이는 것을 거부합니다

422
4xxUnprocessable Content

요청 형식은 맞지만 내용이 처리 불가능합니다

429
4xxToo Many Requests

너무 많은 요청을 보냈습니다 (Rate Limiting)

451
4xxUnavailable For Legal Reasons

법적 이유로 리소스를 제공할 수 없습니다

500
5xxInternal Server Error

서버에서 예상치 못한 오류가 발생했습니다

501
5xxNot Implemented

서버가 요청 메서드를 지원하지 않습니다

502
5xxBad Gateway

게이트웨이/프록시가 잘못된 응답을 받았습니다

503
5xxService Unavailable

서버가 일시적으로 요청을 처리할 수 없습니다

504
5xxGateway Timeout

게이트웨이/프록시가 업스트림 서버 응답을 기다리다 시간이 초과되었습니다

HTTP 상태코드 가이드

1xx — 정보 응답

요청을 받았으며 작업을 계속 진행 중임을 알립니다. 주로 WebSocket 업그레이드(101)나 사전 확인(100)에 사용됩니다.

2xx — 성공

요청이 성공적으로 처리되었습니다. GET 성공은 200, 리소스 생성은 201, 삭제 성공은 204를 사용하세요.

3xx — 리다이렉트

요청 완료를 위해 추가 동작이 필요합니다. 영구 이동은 301, 임시 이동은 302, 캐시 검증은 304를 사용합니다.

4xx — 클라이언트 오류

클라이언트 요청에 문제가 있습니다. 인증 없음(401), 권한 없음(403), 리소스 없음(404), 잘못된 요청(400)을 구분하세요.

5xx — 서버 오류

서버가 요청을 처리하지 못했습니다. 서버 내부 오류(500), 게이트웨이 오류(502/504), 서비스 불가(503)를 빠르게 대응하세요.

REST API 설계 팁

GET→200, POST→201, DELETE→204, 인증→401, 권한→403, 없음→404, 유효성→422, Rate Limit→429, 서버 오류→500을 정확히 구분하세요.

HTTP 상태코드란?

HTTP 상태코드(HTTP Status Code)는 웹 서버가 클라이언트(브라우저, 앱 등)의 요청에 응답할 때 반환하는 3자리 숫자 코드입니다. 첫 번째 자리가 응답의 종류를 나타냅니다: 1xx(정보), 2xx(성공), 3xx(리다이렉트), 4xx(클라이언트 오류), 5xx(서버 오류). 웹 개발, REST API 설계, SEO 최적화, 서버 운영 모두에서 필수적인 개념입니다.

HTTP 상태코드 활용 팁

  • REST API 설계: 성공 응답은 200(GET), 201(POST 생성 성공), 204(DELETE 성공)로 구분하고, 클라이언트 오류는 400(잘못된 요청), 401(인증 필요), 403(권한 없음), 404(없음)를 정확히 구분하세요.
  • SEO 최적화: 이동한 페이지는 301을 사용해 검색 엔진에 영구 이동을 알리세요. 302는 일시적 이동으로 Link Equity가 전달되지 않습니다.
  • 오류 모니터링: 5xx 에러는 서버 장애를 의미하므로 Sentry, Datadog 등으로 실시간 알림을 설정하고 즉시 대응하세요.
  • 캐싱 활용: 304 Not Modified를 활용하면 변경되지 않은 리소스를 재전송하지 않아 대역폭을 절약하고 응답 속도를 높일 수 있습니다.
  • Rate Limiting: API에서 요청 한도를 초과하면 429 Too Many Requests를 반환하고 Retry-After 헤더로 재시도 시간을 안내하세요.