[Reference] http status code 별 정리


1. http status code 별 정리

// 1xx: 정보 응답 (Informational Response)
const HTTP_CONTINUE = 100; // 클라이언트가 요청을 계속해야 함을 의미합니다.
const HTTP_SWITCHING_PROTOCOLS = 101; // 서버가 프로토콜 변경을 요청한 클라이언트의 요청을 승인했음을 나타냅니다.
const HTTP_PROCESSING = 102; // 서버가 요청을 처리 중이며 아직 응답이 없음을 나타냅니다.

// 2xx: 성공 (Success)
const HTTP_OK = 200; // 요청이 성공적으로 처리되었음을 의미합니다.
const HTTP_CREATED = 201; // 요청이 성공적으로 처리되었고, 새로운 리소스가 생성되었음을 나타냅니다.
const HTTP_ACCEPTED = 202; // 요청이 접수되었지만, 아직 처리되지 않았음을 나타냅니다.
const HTTP_NON_AUTHORITATIVE_INFORMATION = 203; // 요청은 성공적이었으나, 반환된 메타정보는 원래 서버의 것이 아님을 의미합니다.
const HTTP_NO_CONTENT = 204; // 요청이 성공적이었지만, 반환할 내용이 없음을 나타냅니다.
const HTTP_RESET_CONTENT = 205; // 요청이 성공적이었으며, 클라이언트가 보기를 리셋해야 함을 나타냅니다.
const HTTP_PARTIAL_CONTENT = 206; // 요청의 일부만 성공적으로 처리되었음을 의미합니다.

// 3xx: 리다이렉션 (Redirection)
const HTTP_MULTIPLE_CHOICES = 300; // 요청에 대한 여러 응답이 가능함을 나타냅니다.
const HTTP_MOVED_PERMANENTLY = 301; // 요청한 리소스가 영구적으로 이동되었음을 나타냅니다.
const HTTP_FOUND = 302; // 요청한 리소스가 임시적으로 다른 위치에 있음을 나타냅니다.
const HTTP_SEE_OTHER = 303; // 요청한 리소스를 다른 URI에서 얻을 수 있음을 나타냅니다.
const HTTP_NOT_MODIFIED = 304; // 요청한 리소스가 수정되지 않았음을 나타냅니다.
const HTTP_USE_PROXY = 305; // 요청한 리소스에 접근하기 위해 프록시를 사용해야 함을 나타냅니다.
const HTTP_TEMPORARY_REDIRECT = 307; // 요청한 리소스가 임시적으로 다른 위치에 있으며, 클라이언트는 원래 메서드로 요청을 반복해야 함을 나타냅니다.
const HTTP_PERMANENT_REDIRECT = 308; // 요청한 리소스가 영구적으로 다른 위치에 있으며, 클라이언트는 원래 메서드로 요청을 반복해야 함을 나타냅니다.

// 4xx: 클라이언트 오류 (Client Errors)
const HTTP_BAD_REQUEST = 400; // 서버가 요청을 이해하지 못했거나, 요청이 잘못되었음을 나타냅니다.
const HTTP_UNAUTHORIZED = 401; // 인증이 필요하며, 클라이언트가 인증되지 않았음을 나타냅니다.
const HTTP_PAYMENT_REQUIRED = 402; // 결제가 필요함을 나타내지만, 현재는 거의 사용되지 않습니다.
const HTTP_FORBIDDEN = 403; // 클라이언트가 요청한 리소스에 접근할 권한이 없음을 나타냅니다.
const HTTP_NOT_FOUND = 404; // 요청한 리소스를 찾을 수 없음을 나타냅니다.
const HTTP_METHOD_NOT_ALLOWED = 405; // 요청한 메서드가 허용되지 않음을 나타냅니다.
const HTTP_NOT_ACCEPTABLE = 406; // 서버가 클라이언트의 요청에 따라 콘텐츠를 제공할 수 없음을 나타냅니다.
const HTTP_PROXY_AUTHENTICATION_REQUIRED = 407; // 프록시 인증이 필요함을 나타냅니다.
const HTTP_REQUEST_TIMEOUT = 408; // 요청 시간이 초과되었음을 나타냅니다.
const HTTP_CONFLICT = 409; // 요청이 리소스의 현재 상태와 충돌됨을 나타냅니다.
const HTTP_GONE = 410; // 요청한 리소스가 더 이상 사용할 수 없음을 나타냅니다.
const HTTP_LENGTH_REQUIRED = 411; // Content-Length 헤더가 필요함을 나타냅니다.
const HTTP_PRECONDITION_FAILED = 412; // 클라이언트의 전제 조건이 실패했음을 나타냅니다.
const HTTP_PAYLOAD_TOO_LARGE = 413; // 요청 본문이 너무 커서 서버가 처리할 수 없음을 나타냅니다.
const HTTP_URI_TOO_LONG = 414; // 요청한 URI가 너무 길어서 서버가 처리할 수 없음을 나타냅니다.
const HTTP_UNSUPPORTED_MEDIA_TYPE = 415; // 서버가 요청한 미디어 타입을 지원하지 않음을 나타냅니다.
const HTTP_RANGE_NOT_SATISFIABLE = 416; // 클라이언트가 요청한 범위를 만족시킬 수 없음을 나타냅니다.
const HTTP_EXPECTATION_FAILED = 417; // 서버가 클라이언트의 기대를 충족할 수 없음을 나타냅니다.
const HTTP_IM_A_TEAPOT = 418; // "나는 주전자입니다." 이 코드는 농담으로 만들어졌으며 실제로 사용되지는 않습니다.
const HTTP_UNPROCESSABLE_ENTITY = 422; // 요청은 이해되었으나, 처리할 수 없음을 나타냅니다.
const HTTP_TOO_EARLY = 425; // 요청이 너무 이르게 보내졌음을 나타냅니다.
const HTTP_UPGRADE_REQUIRED = 426; // 클라이언트가 다른 프로토콜로 업그레이드해야 함을 나타냅니다.
const HTTP_PRECONDITION_REQUIRED = 428; // 서버가 요청을 처리하기 전에 전제 조건이 필요함을 나타냅니다.
const HTTP_TOO_MANY_REQUESTS = 429; // 클라이언트가 일정 시간 내에 너무 많은 요청을 보냈음을 나타냅니다.
const HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE = 431; // 요청 헤더 필드가 너무 커서 서버가 처리할 수 없음을 나타냅니다.

// 5xx: 서버 오류 (Server Errors)
const HTTP_INTERNAL_SERVER_ERROR = 500; // 서버가 요청을 처리하는 중에 오류가 발생했음을 나타냅니다.
const HTTP_NOT_IMPLEMENTED = 501; // 서버가 요청을 수행할 기능을 지원하지 않음을 나타냅니다.
const HTTP_BAD_GATEWAY = 502; // 게이트웨이 또는 프록시 서버가 잘못된 응답을 받았음을 나타냅니다.
const HTTP_SERVICE_UNAVAILABLE = 503; // 서버가 일시적으로 과부하 상태이거나 유지 보수 중임을 나타냅니다.
const HTTP_GATEWAY_TIMEOUT = 504; // 게이트웨이 또는 프록시 서버가 응답을 기다리는 동안 시간이 초과되었음을 나타냅니다.
const HTTP_HTTP_VERSION_NOT_SUPPORTED = 505; // 서버가 요청한 HTTP 프로토콜 버전을 지원하지 않음을 나타냅니다.
const HTTP_VARIANT_ALSO_NEGOTIATES = 506; // 서버가 선택적 협상을 수행하는 동안 발생한 내부 구성 오류를 나타냅니다.
const HTTP_INSUFFICIENT_STORAGE = 507; // 서버가 요청을 저장할 공간이 부족함을 나타냅니다.
const HTTP_LOOP_DETECTED = 508; // 서버가 무한 루프를 감지했음을 나타냅니다.
const HTTP_NOT_EXTENDED = 510; // 요청에 필요한 추가 확장이 없음을 나타냅니다.
const HTTP_NETWORK_AUTHENTICATION_REQUIRED = 511; // 네트워크 인증이 필요함을 나타냅니다.