1. 상태코드 범위 및 설명
범위 | 의미 | 설명 |
1xx | 정보 | 요청이 처리중임을 나타냄 |
2xx | 성공 | 요청이 성공적으로 처리됨 |
3xx | 리다이렉션 | 클라이언트가 다른 URL로 요청을 다시 보내야함 |
4xx | 클라이언트 오류 | 클라이언트의 요청에 문제가 있음 |
5xx | 서버 오류 | 서버가 요청을 처리하지 못함 |
2. 주요 상태 코드
1xx : 정보
코드 | 설명 | 예시 |
100 | Continue | 클라이언트 요청의 일부를 받아들였으며 계속 요청을 진행하라는 뜻 |
101 | Swtiching Protocols | 프로토콜 전환 요청이 수락되었음을 나타냄 |
2xx : 성공
코드 | 설명 | 예시 |
200 | OK | 요청이 성공적으로 처리됨 |
201 | Created | 요청에 의해 리소스가 성공적으로 생성됨 |
202 | Accepted | 요청이 수락되었으나 아직 처리되지 않음 |
204 | No Content | 요청이 성공했으나 응답 본문이 없음 |
3xx : 리다이렉션
코드 | 설명 | 예시 |
301 | Moved Permanently | 요청한 리소스의 URL이 영구적으로 변경됨 |
302 | Found | 요청한 리소스가 임시적으로 다른 URL에 위치함 |
303 | See Other | 클라이언트가 다른 URL로 GET 요청을 해야 함 |
304 | Not Modified | 캐시된 리소스를 그대로 사용해도 됨 |
4xx : 클라이언트 오류
코드 | 설명 | 예시 |
400 | Bad Request | 요청 문법이 잘못되었거나 유효하지 않음 |
401 | Unauthorized | 인증이 필요하며, 인증 정보가 없거나 유효하지 않음 |
403 | Forbidden | 서버가 요청을 이해했으나 권한이 없어 거부됨 |
404 | Not Found | 요청한 리소스를 찾을 수 없음 |
405 | Method Not Allowed | 요청 메서드가 허용되지 않음 |
429 | Too Many Requests | 클라이언트가 너무 많은 요청을 보냄 |
5xx : 서버 오류
코드 | 설명 | 예시 |
500 | Internal Server Error | 서버에서 예기치 않은 오류 발생 |
501 | Not Implemented | 서버가 요청을 처리할 기능을 지원하지 않음 |
502 | Bad Gateway | 게이트웨이나 프록시 서버에서 잘못된 응답을 받음 |
503 | Service Unavailable | 서버가 과부하 상태이거나 유지보수 중으로 사용할 수 없음 |
504 | Gateway Timeout | 게이트웨이 또는 프록시 서버가 응답을 기다리다 시간이 초과됨 |
3. 상태 코드와 상황별 활용
성공적인 요청 (2xx)
- 사용자가 웹 페이지를 열 때, 파일을 다운로드할 때 주로 200 OK 사용
- 데이터를 생성하거나 등록하면 201 Created 사용
리다이렉션 필요 (3xx)
- 웹 사이트가 새 주소로 이동했을 때 301 Moved Permanently 사용
- 브라우저가 새 URL로 요청을 전환할 때 302 Found 사용
클라이언트 오류 (4xx)
- 잘못된 URL을 입력하면 404 Not Found 발생
- 권한이 없을 경우 403 Forbidden
서버 오류 (5xx)
- 서버가 응답하지 않거나 내부 오류가 발생하면 500 Internal Server Error
- 외부 API 호출 시 게이트웨이 문제로 502 Bad Gateway 발생
출처 : ChatGPT