1. HTTP Status Code
HTTP 상태 코드는 서버가 클라이언트의 요청을 어떻게 처리했는지 나타내는 숫자값이다.
- 클라이언트는 상태 코드를 기준으로 다음 동작을 결정한다.
- 상태 코드는 크게 1xx부터 5xx까지 분류된다.
2. 상태 코드 상세 (1xx ~ 5xx)
1xx (Informational)
- 요청을 수신하였으며 처리가 진행 중임을 의미한다.
2xx (Successful)
| 코드 | 이름 | 설명 |
|---|---|---|
200 |
OK | 요청이 정상적으로 처리되었음을 의미한다. |
201 |
Created | 새로운 리소스가 생성되었음을 의미한다. |
204 |
No Content | 요청은 성공했지만 응답 본문이 없음을 의미한다. |
3xx (Redirection)
| 코드 | 이름 | 설명 |
|---|---|---|
301 |
Moved Permanently | 요청한 리소스의 위치가 영구적으로 변경되었음을 의미한다. |
302 |
Found | 요청한 리소스의 위치가 일시적으로 변경되었음을 의미한다. |
304 |
Not Modified | 캐시된 자원을 그대로 사용해도 됨을 의미한다. |
307 |
Temporary Redirect | 임시 리다이렉트이며 요청 메서드를 유지한다. |
308 |
Permanent Redirect | 영구 리다이렉트이며 요청 메서드를 유지한다. |
참고로 POST/Redirect/Get 패턴은 중복 제출을 방지하기 위해 POST 이후 조회 페이지로 리다이렉트하는 방식이다.
4xx (Client Error)
| 코드 | 이름 | 설명 |
|---|---|---|
400 |
Bad Request | 요청 형식이나 파라미터가 잘못된 경우다. |
401 |
Unauthorized | 인증이 필요하거나 인증에 실패한 경우다. |
403 |
Forbidden | 인증은 되었지만 권한이 없는 경우다. |
404 |
Not Found | 요청한 리소스를 서버에서 찾을 수 없는 경우다. |
5xx (Server Error)
| 코드 | 이름 | 설명 |
|---|---|---|
500 |
Internal Server Error | 서버 내부 오류가 발생한 경우다. |
502 |
Bad Gateway | 게이트웨이나 프록시가 잘못된 응답을 받은 경우다. |
503 |
Service Unavailable | 서버 과부하 또는 점검으로 서비스가 불가능한 경우다. |
504 |
Gateway Timeout | 게이트웨이나 프록시가 응답 지연으로 타임아웃된 경우다. |
핵심 정리
2xx는 요청 성공,4xx는 클라이언트 측 문제,5xx는 서버 측 문제를 의미한다.상태 코드는 HTTP 요청 결과를 해석하는 가장 기본적인 기준이다.