Part 13. 4xx - 클라이언트 오류와 5xx - 서버 오류

김수환·2023년 3월 20일
0
post-thumbnail

주제
Q 1 : “4xx - 클라이언트 오류?“
Q 2 : “5xx - 서버 오류?


Q 1 : “4xx - 클라이언트 오류?“


HTTP 상태코드정리
4xx - 클라리언트 오류클라이언트의 요청에 잘못된 문법 등으로 서버가 요청을 수행할 수 없는 경우를 뜻한다.
오류의 원인이 클라이언트에게 있다.
이미 잘못된 요청과 데이터를 보내고 있기에 똑같은 재시도가 실패한 경우다.
400 Bad Request클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없는 상황을 말한다.
클라이언트는 요청 내용을 다시 검토하고 보내야한다.
예) 요청 파라미터가 잘못됐거나 API 스펙이 맞지 않을때
401 Unauthorized클라이언트가 해당 리소스에 대한 인증이 필요할 때
401 오류 발생시 응답에 WWW-Authenticate 헤더와 함께 인증 방법을 설명한다.
Authentication(인증) : 보인이 누구인지 확인(로그인)
Authorization(인가) : 권한 부여(Admin 권한처럼 특정 리소스에 접근할 수 있는 권한의 경우 ‘Authentication(인증)’이 있어야 ‘Authorization(인가)’가 있다.
403 Forbidden서버가 요청을 이해했지만 승인을 거부당할 때
예) 어드민 등급이 아닌 사용자가 로그인했는데 어드민 등급의 리소스에 접근하는 경우를 뜻한다.
404 Not Found요청 리소스가 서버에 없음
클라이언트가 권한이 부족한 리소스에 접근할 때
해당 리소스를 숨기고 싶을 때

Q 2 : “5xx - 서버 오류?“


HTTP 상태코드정리
5xx - 서버오류서버 문제로 오류 발생.
서버에 문제가 있기에 재시도하면 성공할 수도 있음(복구가 되거나 등등)
500 - Internal Server Error서버 문제로 오류 발생, 애매하면 500 오류로 처리하는 게 좋다.
503 - Service Unavailable서비스 이용 불가(대부분 500이 떨어지는 경우가 많음)
서버가 일시적인 과부하 또는 예정된 작업으로 잠시 요청을 처리할 수 없음
Retry-After 헤더 필드로 얼마 뒤에 복구되는지 보낼 수도 있음.
500 Error를 내지 말아야 하는 상황1) 고객의 잔고가 부족한 경우
2) 연령대에 따른 고객 주문
3) 500에러는 진짜 서버에 문제가 생길 때 내는 게 좋다.

참고 자료


김영한 인프런 강의 : 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의


profile
프리랜서 글쓰기 강사에서 백엔드 주니어 개발자로 👊🏻

0개의 댓글