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 뿐만 아니라 다른 백엔드 프레임워크에서도 동일하게 사용됩니다.
'TIL' 카테고리의 다른 글
OSI 7계층 응용 계층 (Application Layer)에 대하여 (자세하게) (0) | 2024.09.25 |
---|---|
OSI 7계층 응용 계층 (Application Layer)에 대하여 (간단 소개) (0) | 2024.09.24 |
Repository Pattern 간단한 소개 (1) | 2024.09.23 |
초보자를 위한 깃허브 팀원끼리 연결, PullRequest, Merge 하는 법 (feat. SubBranch, VSCODE) (0) | 2024.09.19 |
OSI 7계층 중 전송 계층에 대하여 (0) | 2024.09.11 |