**5xx (Server Error) 상태 코드에 대해서 알아본다.
서버 문제로 오류가 발생 하였을 때 사용되는 상태 코드.
오류의 원인이 서버이기 때문에 4xx 상태 코드와는 다르게 재시도시 성공 할 수도 있다.
500 (Internal Server Error)
- 서버 내부 문제로 오류가 발생했을 때
- 서버 내부의 오류를 정의하기 애매하면 500 상태 코드를 사용한다.
- 필자가 이 글을 쓰기전까지 실수하였던 부분이 있다.
- 예를들어 GET /car/100 을 조회 하였고 결과는 null이었다고 가정해보자.
id = 100인 차량을 조회하였을 때 결과가 없는 것은 클라이언트 입장에서는 정상적인 결과이다.
쉽게 말해서 조회한 리소스가 없다는 결과를 얻었기 때문에 에러가 아니다.
하지만 null 인 결과를 수정하려다 NullPointerException이 발생한다면 Internal Server Error가 맞다.
어떻게 보면 당연한 말일 수 있지만...필자는 처음에 상당히 혼란스러웠던 부분이다.
- 예를들어 GET /car/100 을 조회 하였고 결과는 null이었다고 가정해보자.
503 (Service Unavailable)
- 서비스 이용 불가
- 서버가 일시적인 과부하 또는 예정된 작업으로 잠시 요청을 처리 할 수 없음.
- Retry-After 헤더 필드로 얼마뒤에 복구되는지 보낼 수도 있다.
'Infrastructure > Network' 카테고리의 다른 글
[HTTP] 헤더 - 1 (일반 헤더) (0) | 2021.06.25 |
---|---|
[HTTP] 상태 코드 (3xx) (0) | 2021.06.25 |
[HTTP] 상태 코드 (4xx) (0) | 2021.06.24 |
[HTTP] 상태 코드 (2xx) (0) | 2021.06.24 |
[HTTP] 상태 코드 (종류) (0) | 2021.06.24 |