HTTP 상태 코드

모든 표준 상태 코드의 상세한 설명, 사용 사례 및 예제를 포함하는 완전한 HTTP 상태 코드 참조 가이드입니다. 개발자가 HTTP 응답 코드의 의미를 빠르게 조회하고 이해하는 데 도움이 됩니다.

100
Continue
계속
서버가 요청 헤더를 수신했으며 클라이언트는 요청 본문을 계속 보내야 합니다. 대량의 데이터를 보내야 할 때 사용됩니다.
101
Switching Protocols
프로토콜 전환
서버는 클라이언트의 요청을 이해하고 Upgrade 헤더 필드를 통해 다른 프로토콜로 전환하는 데 동의합니다. WebSocket 연결 설정에 일반적으로 사용됩니다.
102
Processing
처리 중
서버가 요청을 수신하고 처리하고 있지만 아직 응답을 사용할 수 없습니다. 클라이언트 시간 초과를 방지하는 데 사용됩니다.
103
Early Hints
조기 힌트
주로 Link 헤더와 함께 사용되어 서버가 응답을 준비하는 동안 사용자 에이전트가 리소스 사전 로딩을 시작할 수 있도록 합니다.
200
OK
성공
요청이 성공했습니다. 이것은 가장 일반적인 HTTP 상태 코드입니다.
201
Created
생성됨
요청이 실현되었으며 새 리소스가 생성되었습니다. 일반적으로 POST 요청 또는 일부 PUT 요청 후에 반환됩니다.
202
Accepted
수락됨
서버가 요청을 수락했지만 아직 처리하지 않았습니다. 비동기 처리에 사용됩니다.
203
Non-Authoritative Information
비인증 정보
서버는 변환 프록시이며 요청을 성공적으로 처리했지만 반환된 엔티티 헤더는 원본 서버의 사본일 수 있습니다.
204
No Content
내용 없음
서버가 요청을 성공적으로 처리했지만 엔티티 콘텐츠를 반환할 필요가 없습니다. DELETE 또는 PUT 요청 응답에 자주 사용됩니다.
205
Reset Content
콘텐츠 재설정
서버가 요청을 성공적으로 처리했지만 콘텐츠를 반환하지 않습니다. 204와 달리 이 응답은 요청자가 문서 보기를 재설정하도록 요구합니다.
206
Partial Content
부분 콘텐츠
서버가 부분 GET 요청을 성공적으로 처리했습니다. 재개 가능한 다운로드 또는 스트리밍에 사용됩니다.
300
Multiple Choices
다중 선택
요청된 리소스에는 여러 표현이 있으며 각각 다른 위치에 있습니다. 사용자 또는 브라우저는 선호하는 것을 선택할 수 있습니다.
301
Moved Permanently
영구 이동
요청된 리소스가 새 위치로 영구적으로 이동되었습니다. 검색 엔진은 인덱스를 업데이트합니다.
302
Found
발견
요청된 리소스가 일시적으로 다른 URI에 있습니다. 리디렉션이 일시적이므로 클라이언트는 원래 URI를 계속 사용해야 합니다.
303
See Other
다른 항목 참조
요청에 대한 응답은 다른 URI에서 찾을 수 있으며 GET 메서드를 사용하여 검색해야 합니다.
304
Not Modified
수정되지 않음
리소스가 수정되지 않았습니다. 클라이언트는 캐시된 버전을 사용할 수 있습니다.
307
Temporary Redirect
임시 리디렉션
요청된 리소스가 일시적으로 다른 URI에 있습니다. 302와 달리 요청 메서드를 변경해서는 안 됩니다.
308
Permanent Redirect
영구 리디렉션
리소스가 새 위치로 영구적으로 이동되었습니다. 301과 달리 요청 메서드를 변경해서는 안 됩니다.
400
Bad Request
잘못된 요청
서버가 잘못된 구문으로 인해 요청을 이해할 수 없습니다. 구문 오류 또는 매개변수 오류가 원인인 경우가 많습니다.
401
Unauthorized
인증되지 않음
요청에 사용자 인증이 필요합니다. 클라이언트는 리소스에 액세스하기 위해 유효한 인증 자격 증명을 제공해야 합니다.
402
Payment Required
결제 필요
이 코드는 향후 사용을 위해 예약되어 있습니다.
403
Forbidden
금지됨
서버가 요청을 이해했지만 승인을 거부합니다. 401과 달리 인증은 도움이 되지 않습니다.
404
Not Found
찾을 수 없음
요청된 리소스가 서버에 존재하지 않습니다. 이것은 가장 일반적인 오류 코드 중 하나입니다.
405
Method Not Allowed
허용되지 않는 메서드
요청에 사용된 HTTP 메서드는 허용되지 않습니다. 예를 들어 읽기 전용 리소스에 POST를 사용하는 경우입니다.
406
Not Acceptable
허용할 수 없음
요청된 리소스의 콘텐츠 특성이 요청 헤더의 조건을 충족할 수 없습니다.
407
Proxy Authentication Required
프록시 인증 필요
클라이언트는 먼저 프록시 서버로 인증해야 합니다.
408
Request Timeout
요청 시간 초과
서버가 클라이언트로부터 요청을 기다리는 시간이 너무 길어 시간 초과되었습니다.
409
Conflict
충돌
요청된 리소스의 현재 상태와의 충돌로 인해 요청을 완료할 수 없습니다.
410
Gone
사라짐
요청된 리소스가 서버에서 더 이상 사용할 수 없으며 전달 주소를 알 수 없습니다. 404와 달리 410은 영구적입니다.
411
Length Required
길이 필요
서버는 정의된 Content-Length 헤더 없이 요청을 수락하는 것을 거부합니다.
412
Precondition Failed
전제 조건 실패
요청 헤더 필드에서 지정된 하나 이상의 전제 조건이 서버에서 테스트될 때 거짓으로 평가되었습니다.
413
Payload Too Large
페이로드가 너무 큼
요청 페이로드가 서버가 처리할 수 있거나 처리할 의향이 있는 크기보다 크기 때문에 서버가 요청 처리를 거부합니다.
414
URI Too Long
URI가 너무 김
제공된 URI가 서버가 처리하기에는 너무 깁니다.
415
Unsupported Media Type
지원되지 않는 미디어 유형
요청 엔티티의 미디어 유형은 서버 또는 리소스가 지원하지 않습니다.
416
Range Not Satisfiable
범위를 만족할 수 없음
클라이언트가 파일의 일부를 요청했지만 서버가 해당 부분을 제공할 수 없습니다.
417
Expectation Failed
기대 실패
서버가 Expect 요청 헤더 필드의 요구 사항을 충족할 수 없습니다.
418
I'm a teapot
나는 찻주전자
이것은 1998년 RFC 2324의 만우절 농담입니다.
421
Misdirected Request
잘못된 요청
요청이 응답을 생성할 수 없는 서버로 전달되었습니다.
422
Unprocessable Entity
처리할 수 없는 엔티티
요청이 올바른 형식이지만 의미 오류로 인해 처리할 수 없습니다.
423
Locked
잠김
액세스되는 리소스가 잠겨 있습니다. WebDAV에서 사용됩니다.
424
Failed Dependency
실패한 종속성
이전 요청의 실패로 인해 현재 요청이 실패했습니다.
425
Too Early
너무 이름
서버는 Early Data에서 재생될 수 있는 요청 처리를 거부합니다.
426
Upgrade Required
업그레이드 필요
서버는 현재 프로토콜을 사용하여 요청을 수행하는 것을 거부하지만 클라이언트가 다른 프로토콜로 업그레이드한 후에는 수행할 의향이 있을 수 있습니다.
428
Precondition Required
전제 조건 필요
서버는 요청이 조건부여야 한다고 요구합니다.
429
Too Many Requests
너무 많은 요청
사용자가 일정 시간 내에 너무 많은 요청을 보냈습니다. 속도 제한 또는 남용 방지에 사용됩니다.
431
Request Header Fields Too Large
요청 헤더 필드가 너무 큼
요청 헤더 필드가 너무 크기 때문에 서버가 요청 처리를 거부합니다.
451
Unavailable For Legal Reasons
법적 이유로 사용할 수 없음
리소스가 법적 이유로 사용할 수 없습니다.
500
Internal Server Error
내부 서버 오류
서버가 요청 실행을 방해하는 예기치 않은 상황을 만났습니다. 이것은 가장 일반적인 서버 측 오류입니다.
501
Not Implemented
구현되지 않음
서버가 요청을 충족하는 데 필요한 기능을 지원하지 않습니다.
502
Bad Gateway
잘못된 게이트웨이
게이트웨이 또는 프록시로 작동하는 서버가 업스트림 서버로부터 잘못된 응답을 받았습니다.
503
Service Unavailable
서비스 사용 불가
서버가 일시적으로 요청을 처리할 수 없습니다. 일반적으로 서버 과부하 또는 유지 관리로 인한 것입니다.
504
Gateway Timeout
게이트웨이 시간 초과
게이트웨이 또는 프록시로 작동하는 서버가 업스트림 서버로부터 적시에 응답을 받지 못했습니다.
505
HTTP Version Not Supported
HTTP 버전이 지원되지 않음
서버가 요청에 사용된 HTTP 프로토콜 버전을 지원하지 않습니다.
506
Variant Also Negotiates
변형도 협상
서버에 내부 구성 오류가 있습니다.
507
Insufficient Storage
저장 공간 부족
서버가 요청을 완료하는 데 필요한 표현을 저장할 수 없습니다.
508
Loop Detected
루프 감지
서버가 요청 처리 중 무한 루프를 감지했습니다.
510
Not Extended
확장되지 않음
서버가 요청을 충족하려면 요청의 추가 확장이 필요합니다.
511
Network Authentication Required
네트워크 인증 필요
클라이언트가 네트워크 액세스를 얻으려면 인증해야 합니다.

HTTP 상태 코드란?

HTTP 상태 코드는 클라이언트 요청에 대한 서버의 표준 응답 코드입니다. 각 코드는 세 자리 숫자이며, 첫 번째 자리가 응답의 카테고리를 정의합니다. 이러한 상태 코드를 이해하는 것은 웹 개발, API 디버깅 및 문제 해결에 매우 중요합니다.

상태 코드 카테고리

  • 1xx (정보 응답) - 요청이 수신되었으며 프로세스가 계속 진행 중임을 나타냅니다. 이는 임시 응답입니다.
  • 2xx (성공 응답) - 요청이 서버에 의해 성공적으로 수신, 이해 및 수락되었음을 나타냅니다.
  • 3xx (리다이렉션) - 요청을 완료하기 위해 클라이언트가 추가 작업을 수행해야 함을 나타냅니다. 일반적으로 URL 리디렉션에 사용됩니다.
  • 4xx (클라이언트 오류) - 클라이언트에서 오류가 발생한 것으로 보임을 나타냅니다. 예를 들어 요청 구문 오류, 요청을 완료할 수 없음, 페이지가 존재하지 않음 등입니다.
  • 5xx (서버 오류) - 서버가 명백히 유효한 요청을 완료하는 데 실패했음을 나타냅니다. 이러한 코드는 요청 처리 중 서버 측에서 오류 또는 예외가 발생했음을 나타냅니다.