HTTP 상태 코드는 클라이언트와 서버 간의 통신에서 요청이 성공했는지, 실패했는지, 또는 추가 작업이 필요한지 등을 나타내는 숫자 코드입니다. 총 5가지 범주로 나뉩니다.
클라이언트 요청이 접수되었으며 처리가 진행 중임을 나타냅니다.
- 100 Continue: 요청의 일부를 수신했으며 나머지를 계속 보내도 됨.
- 101 Switching Protocols: 서버가 프로토콜 변경 요청을 수락함.
- 103 Early Hints: 리소스 로딩에 사용할 수 있는 사전 정보 제공.
2xx: 성공 (Successful Responses)
요청이 성공적으로 처리되었음을 나타냅니다.
- 200 OK: 요청이 성공적으로 처리됨.
- 201 Created: 요청이 성공적으로 처리되었으며 새 리소스가 생성됨.
- 202 Accepted: 요청이 접수되었지만 아직 처리되지 않음.
- 204 No Content: 요청은 성공했으나 응답 본문이 없음.
3xx: 리다이렉션 (Redirection Responses)
요청한 리소스가 다른 위치에 있거나 추가 작업이 필요함을 나타냅니다.
- 301 Moved Permanently: 요청한 리소스가 영구적으로 다른 위치로 이동함.
- 302 Found: 요청한 리소스가 임시로 다른 위치에 있음.
- 304 Not Modified: 리소스가 수정되지 않았으므로 캐시된 버전을 사용해야 함.
- 307 Temporary Redirect: 요청한 리소스가 임시로 다른 URL에 있음 (요청 메서드 유지).
- 308 Permanent Redirect: 요청한 리소스가 영구적으로 다른 URL에 있음 (요청 메서드 유지).
4xx: 클라이언트 오류 (Client Errors)
클라이언트 요청에 오류가 있을 때 사용됩니다.
- 400 Bad Request: 잘못된 요청으로 인해 서버가 이해하지 못함.
- 401 Unauthorized: 인증이 필요하지만 제공되지 않았거나 유효하지 않음.
- 403 Forbidden: 권한이 없어 요청이 거부됨.
- 404 Not Found: 요청한 리소스를 찾을 수 없음.
- 405 Method Not Allowed: 허용되지 않는 HTTP 메서드 사용.
5xx: 서버 오류 (Server Errors)
서버가 요청을 처리하지 못했을 때 사용됩니다.
- 500 Internal Server Error: 서버 내부 오류로 인해 요청을 처리할 수 없음.
- 501 Not Implemented: 요청된 메서드가 서버에서 지원되지 않음.
- 502 Bad Gateway: 게이트웨이나 프록시 서버에서 잘못된 응답을 수신함.
- 503 Service Unavailable: 서버가 현재 요청을 처리할 수 없음 (과부하 또는 유지 보수).
- 504 Gateway Timeout: 게이트웨이나 프록시 서버가 요청을 처리하는 데 시간이 초과됨.
참고
HTTP 상태 코드는 웹 개발 및 API 통신에서 중요한 역할을 하므로 각 코드의 의미를 명확히 이해하고 사용하는 것이 중요합니다.