TIL

Status Code 종류별로 한줄로 설명하기 - 틀린 부분 또는 추가할 부분 지적 O

추운날_너를_기다리며 2024. 9. 24. 11:31

1xx (Informational Responses)

1xx 코드는 요청을 수신하였으며 처리가 진행 중임을 나타냅니다.

  • 100 Continue: 클라이언트가 요청을 계속해도 된다는 신호.
  • 101 Switching Protocols: 서버가 클라이언트의 요청에 따라 프로토콜을 전환.
  • 102 Processing (WebDAV): 서버가 요청을 수신하고 있지만 아직 응답을 제공할 수 없음.

2xx (Successful Responses)

2xx 코드는 요청이 성공적으로 완료되었음을 나타냅니다.

  • 200 OK: 요청이 성공적으로 처리되었음을 나타냄.
  • 201 Created: 요청에 의해 리소스가 성공적으로 생성됨.
  • 202 Accepted: 요청이 접수되었지만, 아직 처리되지 않음.
  • 203 Non-Authoritative Information: 클라이언트에게 반환된 정보는 원래 서버에서 직접 가져온 것이 아님.
  • 204 No Content: 성공적으로 요청이 처리되었으나, 반환할 콘텐츠가 없음.
  • 205 Reset Content: 클라이언트는 페이지를 새로 고침해야 함.
  • 206 Partial Content: 클라이언트가 부분 범위 요청을 보냈고 서버가 그에 따라 일부 콘텐츠만 보냄.
  • 207 Multi-Status (WebDAV): 여러 상태 코드가 필요한 상황에서 사용.

3xx (Redirection Responses)

3xx 코드는 클라이언트가 요청한 자원이 다른 위치로 이동했거나 리소스를 찾기 위해 추가 작업이 필요함을 나타냅니다.

  • 300 Multiple Choices: 요청에 대해 여러 가지 응답이 가능함.
  • 301 Moved Permanently: 리소스가 영구적으로 다른 URL로 이동함.
  • 302 Found: 리소스가 임시적으로 다른 URL에 있음.
  • 303 See Other: 클라이언트가 다른 URI를 사용해야 함.
  • 304 Not Modified: 클라이언트의 캐시된 리소스가 최신임.
  • 305 Use Proxy: 요청된 리소스는 프록시를 통해 접근해야 함.
  • 307 Temporary Redirect: 리소스가 임시적으로 다른 URL에 있음(요청 메서드를 바꾸지 않음).
  • 308 Permanent Redirect: 리소스가 영구적으로 다른 URL에 있음(요청 메서드를 유지).

4xx (Client Error Responses)

4xx 코드는 클라이언트 측의 잘못된 요청을 의미합니다.

  • 400 Bad Request: 요청이 잘못되었거나 서버에서 처리할 수 없음.
  • 401 Unauthorized: 인증이 필요하지만 제공되지 않음.
  • 402 Payment Required: 현재 사용되지 않지만 향후 지불 기능에 사용할 가능성이 있음.
  • 403 Forbidden: 서버가 요청을 이해했지만 권한이 없어 거부됨.
  • 404 Not Found: 요청된 리소스를 찾을 수 없음.
  • 405 Method Not Allowed: 요청한 메서드가 허용되지 않음.
  • 406 Not Acceptable: 클라이언트가 요청한 콘텐츠를 제공할 수 없음.
  • 407 Proxy Authentication Required: 프록시 서버를 통해 인증이 필요함.
  • 408 Request Timeout: 서버가 요청을 기다리다 시간 초과됨.
  • 409 Conflict: 요청이 서버의 현재 상태와 충돌됨.
  • 410 Gone: 요청한 리소스가 더 이상 존재하지 않음.
  • 411 Length Required: 요청에 Content-Length 헤더가 포함되어야 함.
  • 412 Precondition Failed: 사전 조건이 충족되지 않음.
  • 413 Payload Too Large: 요청한 데이터가 서버에서 처리할 수 없을 만큼 큼.
  • 414 URI Too Long: URI가 너무 길어 처리할 수 없음.
  • 415 Unsupported Media Type: 지원하지 않는 미디어 유형이 요청됨.
  • 416 Range Not Satisfiable: 클라이언트가 요청한 범위를 서버가 제공할 수 없음.
  • 417 Expectation Failed: 서버가 Expect 헤더에 있는 요구 사항을 충족하지 못함.
  • 418 I'm a teapot: (장난스러운 코드로, 실제 사용 사례는 거의 없음) 에러 상태를 나타냄.
  • 422 Unprocessable Entity (WebDAV): 요청은 서버에서 이해되었으나 처리할 수 없음.
  • 423 Locked (WebDAV): 리소스가 잠겨 있음.
  • 424 Failed Dependency (WebDAV): 이전 요청이 실패하여 현재 요청도 처리할 수 없음.
  • 426 Upgrade Required: 클라이언트는 프로토콜을 전환해야 함.
  • 428 Precondition Required: 요청에 사전 조건이 필요함.
  • 429 Too Many Requests: 클라이언트가 너무 많은 요청을 보냄.
  • 431 Request Header Fields Too Large: 요청 헤더가 너무 큼.
  • 451 Unavailable For Legal Reasons: 법적 문제로 인해 리소스를 사용할 수 없음.

5xx (Server Error Responses)

5xx 코드는 서버가 요청을 처리하는 데 실패했음을 의미합니다.

  • 500 Internal Server Error: 서버가 예기치 않은 상황으로 인해 요청을 처리할 수 없음.
  • 501 Not Implemented: 서버가 요청한 기능을 지원하지 않음.
  • 502 Bad Gateway: 서버가 게이트웨이로부터 유효하지 않은 응답을 받음.
  • 503 Service Unavailable: 서버가 과부하되었거나 유지보수 중이라 사용할 수 없음.
  • 504 Gateway Timeout: 게이트웨이 또는 프록시 서버가 상위 서버로부터 응답을 받지 못함.
  • 505 HTTP Version Not Supported: 서버가 요청에 사용된 HTTP 버전을 지원하지 않음.
  • 507 Insufficient Storage (WebDAV): 서버에 필요한 저장 공간이 부족함.
  • 508 Loop Detected (WebDAV): 서버에서 무한 루프가 감지됨.
  • 510 Not Extended: 추가 확장이 필요함.
  • 511 Network Authentication Required: 네트워크에 대한 인증이 필요함.

이 상태 코드들은 HTTP 프로토콜의 표준이므로, Node.js 뿐만 아니라 다른 백엔드 프레임워크에서도 동일하게 사용됩니다.