etc..

[HTTP] HTTP 응답 상태 코드 / 서버 상태 코드

개발하는 사막여우 2021. 5. 21. 13:45
반응형

0. HTTP 응답 상태 코드란?

HTTP 응답 상태 코드란 특정 HTTP 요청이 성공적으로 완료되었는지 알려주는 코드입니다. 서버의 응답에서 헤더부분에 위치하며, 클라이언트는 서버가 응답으로 준 해당 상태코드를 확인하여 응답의 상태를 확인할 수 있습니다.

응답은 5개의 그룹(1XX, 2XX, 3XX, 4XX, 5XX)으로 나누어집니다.

 

1. 1XX: 임시 응답을 알려주는 코드

  • 100(Continue): 서버 상태가 문제없음
  • 101(Switching Protocol): 서버에서 프로토콜이 변경될 것임
  • 102(Processing): 서버가 요청을 수신 및 처리중임
  • 103(Early Hints): 서버가 처리중이니 클라이언트가 사전 로딩을 시작하도록 함

 

2. 2XX: 성공을 알리는 상태 코드

  • 200(OK): 성공
  • 201(Created): 요청에 따라 새로운 리소스가 생성됨.
  • 202(Accepted): 요청이 수신되었지만 행동할 수 없음
  • 204(No Content): 요청에 대해 보내줄 콘텐츠가 없음
  • 205(Reset Content): 문서 뷰를 리셋할 것
  • 206(Partial Content): 클라이언트가 복수의 스트림 분할 다운로드를 하고자 범위 헤더를 전송했을 경우
  • 207(Multi-Status): 여러 리소스가 여러 상태 코드인 상황이 적절한 경우
  • 208(Multi-Status): 동일 컬렉션으로 바인드된 복수의 내부 멤버를 반복적으로 열거하는 것을 피하기 위해 사용
  • 226(IM Used): 서버가 GET 요청에 응답 완료했고, 응답이 현재 인스턴스에 적용되었음

 

3. 3XX: 리다이렉션(다른 페이지로 이동)을 알리는 상태 코드

  • 300(Multiple Choice): 요청에 대해 하나 이상의 응답이 가능. 클라이언트의 선택 필요
  • 301(Moved Permanently): 클라이언트가 요청한 리소스의 URI이 변경됨
  • 302(Found): 요청한 리소스의 URI가 일시적으로 변경되었음. 사용된 HTTP 메소드 변경 가능
  • 303(See Other): 클라이언트가 요청한 리소스를 다른 URI에서 얻어야 함
  • 304(Not Modified): 수정되지 않음(요청의 응답으로 캐시를 사용함)
  • 305(Use Proxy): 요청된 응답은 반드시 프록시를 통해서 접속해야함
  • 306(unused): 더 이상 사용되지 않는 응답 코드
  • 307(Temporary Redirect): 302와 동일한 의미, 사용자가 사용된 HTTP 메소드를 변경해서는 안됨.
  • 308(Permanent Redirect): 리소스가 영구히 다른 URI에 위치하고 있음

 

4. 4XX: 요청 오류

  • 400(Bad Request): 잘못된 요청
  • 401(Unauthorized): 권한 없음, 클라이언트가 비인증 상태
  • 403(Forbidden): 권리 없음, 클라이언트가 인증은 됐지만 권리가 없음.
  • 404(Not Found): 요청받은 리소스를 찾을 수 없음.
  • 405(Method not Allowed): 요청한 메소드는 제거되었고 사용할 수 없음
  • 408(Request Timeout): 요청 시간 초과
  • 409(Conflict): 요청이 현재 서버 상태와 충돌됨
  • 411(Length Required): Content-Length 헤더 필드가 정의되지 않음.
  • 413(Payload Too Large): 요청 엔티티가 서버가 정의한 한계보다 큼
  • 415(Unsupported Media Type): 요청 미디어 포맷은 서버가 지원하지 않음
  • 416(Requested Range Not Satisfiable): Range 헤더 필드에 요청한 지정 범위 만족 불가
  • 421(Misdirected Request): 요청에 대한 응답을 생성할 수 없음
  • 422(Unprocessable Entity): 요청은 됐지만, 문법 오류
  • 423(Locked): 해당 리소스는 잠겨있음
  • 424(Failed Dependency): 이전 요청 실패하여 현재 요청도 실패
  • 429(Too Many Request): 사용자가 너무 많은 요청을 보냈음
  • 431(Request Header Fields Too Large): 요청 헤더 필드가 너무 큼

 

5. 5XX: 서버 오류

  • 500(Internal Server Error): 내부 서버 오류. 서버가 처리 방법을 모름
  • 501(Not Implemented): 서버가 지원하지 않는 요청 방법
  • 502(Not Implemented): 불량 게이트웨이.
  • 503(Service Unavailable): 서비스를 사용할 수 없음
  • 504(Gateway Timeout): 서버가 게이트웨이 역할을 하고 있음, 시간 초과
  • 505(HTTP Version Not Supported): 지원되지 않는 HTTP 버전
반응형