개요
Http Status Code별 설명과 대응사항을 소개한다.
100X (Informational)
요청이 수신되어 처리중
| 상태코드 | 상태메시지 | 설명 |
|---|---|---|
| 100 | Continue | 처리가 되어 다음으로 진행 |
| 101 | Switching Protocols | 프로토콜 전환 중 |
| 102 | Processing | 서버 처리 중 |
| 103 | Eary Hints | 필요한 리소스 힌트를 제공하여 리소스를 사전 로드 |
2XX (Success)
요청이 정상적으로 처리됨
| 상태코드 | 상태메시지 | 설명 |
|---|---|---|
| 200 | OK | 정상 처리 완료 |
| 201 | Created | 정상 처리 완료 후 새로운 리소스 생김 |
| 202 | Accepted | 요청은 정상, 서버가 처리 미완료되어 일단 확인되었다는 뜻(요청이 크고 무거운 경우) |
| 023 | Non-Authoritative Information | 프록시 서버를 사용할 때 반환 |
| 204 | No Content | 정상 처리 완료되었으나, 제공할 내용이 없음 |
| 205 | Reset Content | 브라우저 새로고침 요청 |
| 206 | Partial Content | 리소스 범위의 일부 부분만 반환 |
| 207 | Multi-Status | 응답 바지가 여러개 혼합되어 응답됨 - WebDAV에 사용되는 상태코드 |
| 208 | Already Reported | 이미 앞에 열거 됨 - WebDAV에 사용되는 상태코드 |
| 218 | This is fine | 오류가 발생했으나, 여긴 괜다는 의미 - Apache 웹서버에서 사용되는 비공식 코드 |
| 226 | IM Used | Get 요청에 대해 진행 되었음을 알림 |
3XX (Redirection)
요청을 완료하려면 추가적인 작업이 필요
| 상태 코드 | 상태 메세지 | 설명 |
|---|---|---|
| 300 | MultipleChoices | 선택 항목이 여러개 있다 |
| 301 | MovedPermanently | 지정한 리소스가 새로운 URI로 이동 |
| 302 | Found | 요청한 리소스를 다른 URL 찾음 |
| 303 | SeeOther | 다른 URL에서 리소스를 찾음- 일시 리다이렉션- 메서드가 GET으로 바뀜 |
| 304 | NotModified | 리소스복사본상태가수정되지않아최신상태이므로캐시를이용- 특수 리다이렉션 |
| 305 | UseProxy | 리소스가 프록시를 통해서만 액세스될 수 있음을 표현 - 보안 문제로 더이상 사용되지 않음 |
| 306 | Switch Proxy / Undefined | 클라이언트가대체프록시를사용하도록리다이렉션(switch)시킨다- 보안 문제로 더이상 사용되지 않음 |
| 307 | TemporaryRedirect | 임시로 이동- 일시 리다이렉션- 메서드가 유지됨 |
| 308 | PermanentRedirect | 영구 이동- 영구 리다이렉션- 메서드가 유지됨 |
4XX (Client Error)
클라이언트 오류.
클라이언트의 잘못된 요청으로 인하여, 서버가 응답을 내릴 수 없음
| 상태 코드 | 상태 메세지 | 설명 |
|---|---|---|
| 400 | Bad Request | 클라이언트가 잘못된 요청을 보냄 |
| 401 | Unauthorized | 인증되지않아 수행할 수 없음 (Authentication) |
| 402 | PaymentRequired | 지정한 리소스를 액세스하기 위해서는 결제가 필요하다. (하지만 실제로 사용되지 않음) |
| 403 | Forbidden | 승인되지않아 작업을 진행할 수 없음 (Autorization) |
| 404 | Not Found | 요청한 자원이 존재하지않음 |
| 405 | MethodNotAllowed | 요청이 허용되지 않은 메소드 |
| 406 | NotAcceptable | 허용 되지 않는 콘텐츠 |
| 407 | ProxyAuthenticationRequired | 프록시 인증을 필요함 |
| 408 | RequestTimeout | 요청 시간 초과 |
| 409 | Conflict | 요청이 서버의 상태와 충돌 발생 |
| 410 | Gone | 리소스가 영구히 삭제됨 |
| 411 | LengthRequired | 요청시 Content-Length 헤더를 넣어달라는 뜻 |
| 412 | PreconditionFailed | 클라이언트의 조건부 요청 실패. 클라이언트가 캐시에 대한 조건부요청을 했는데 실패했을때 응답 |
| 413 | PayloadTooLargeRequestEntityTooLarge | 요청 본문이 서버에서 정의한 한계보다 너무 커 처리할 수 없음 |
| 414 | URITooLongRequestURITooLong | 요청 URI이 너무 길어 처리할수 없음 |
| 415 | UnsupportedMediaType | 요청한 미디어 포맷은 서버에서 지원하지 않음 |
| 416 | RangeNotSatisfiable | Range 헤더 필드에 요청한 지정 범위를 만족시킬 수 없음 |
| 417 | ExpectationFailed | Expect 요청 헤더 필드로 요청한 예상 반환 코드를 만족 시킬 수 없음 |
| 420 | MethodFailureorEnhanceyourcalm | 클라이언트 오류를 나타내기위해 서버에서 반환하는 비공식 클라이언트 오류 |
| 421 | MisdirectedRequest | 의도하지 않은 요청을 받아서버가 응답을 생성할 수 없음을 나타냄 |
| 422 | UnprocessableEntity | 요청된 지시를 따를 수 없음을 나타냄 |
| 423 | Locked | 요청에 대한 대상 파일 또는 폴더가 잠겨 있을때 반환 - WebDAV에 사용되는 상태코드 |
| 424 | Failed Dependency | 이전 요청이 실패하였기 때문에 지금 요청도 실패하였음을 의미 - WebDAV에 사용되는 상태코드 |
| 426 | UpgradeRequired | HTTP 프로토콜 업그레이드 권고 |
| 428 | PreconditionRequired | 조건부 요청이 요구됨. 서버가 클라이언트에게 요청을 조건부로 해야함을 나타낸다. |
| 429 | TooManyRequests | 클라이언트가 일정시간 동안 너무 많은 요청을 보낸 경우 |
| 431 | RequestHeaderFieldsTooLarge | 헤더필드가 너무 커서 요청을 처리하지 않음 |
| 451 | UnavailableForLegalReasons | 법적인 이유로 비허용됨 |
5XX (Server Error)
서버 오류.
서버 내부적으로 문제가 발생하여, 서버가 응답을 내릴 수 없음
| 상태 코드 | 상태 메세지 | 설명 |
|---|---|---|
| 500 | InternalServerError | 서버 내부 문제 발생 |
| 501 | NotImplemented | 요청에 대해 구현되지 않아 수행하지 아니함 |
| 502 | BadGateway | 게이트웨이가 잘못되어, 서버가 잘못된 응답을 수신함. 보통 접속이 폭주하는 등의 원인으로 통신장애가 발생하였을 경우에 발생 |
| 503 | ServiceUnavailable | 서비스 이용 불가 (일시적) |
| 504 | GatewayTimeout | 게이트웨이 시간초과. 게이트웨이 또는 프록시 역할을 하는 서버가 그 뒷단의 서버로부터 응답을 기다리다 타임아웃이 발생 |
| 505 | HTTPVersionNotSupported | 서버에서 지원되지않는 HTTP버전 |
| 506 | VariantAlsoNegotiates | 실험적인 프로토콜이며 공식적으로 표준으로 채택하지 않은 응답 코드 |
| 507 | InsufficientStorage | 스토리지 공간 부족 - WebDAV에 사용되는 상태코드 |
| 508 | LoopDetected | 무한 루프를 감지 - WebDAV에 사용되는 상태코드 |
| 510 | NotExtended | 실험적인 프로토콜이며 공식적으로 표준으로 채택하지 않은 응답 코드 |
| 511 | NetworkAuthenticationRequired | 네트워크 인증 요구 ex) 공공 와이파이 인증 |
| 529 | Overloaded | Anthropic, Roblox에서 나온 에러. 통신 과부하. |
| 599 | NetworkConnectTimeoutError | 네트워크 연결 시간 초과 오류. 일부 프록시에서 사용하는 비공식 HTTP 상태코드 |