🌿 중급 백엔드
HTTP 상태 코드 2xx, 4xx, 5xx
쉽게 이해하기
택배를 주문했을 때 받는 알림과 비슷해요. '배송 완료'(2xx)는 성공, '주소 오류'(4xx)는 내 잘못, '배송센터 문제'(5xx)는 택배사 잘못이에요. 숫자 첫 자리만 봐도 어디서 문제가 생겼는지 바로 알 수 있죠.
핵심 정리
HTTP 응답의 성공/실패를 나타내는 세 자리 숫자 코드입니다.
자세히 알아보기
HTTP 상태 코드는 서버가 클라이언트의 요청을 어떻게 처리했는지 알려주는 세 자리 숫자예요. 첫 번째 자리 숫자가 전체 의미를 결정합니다.
2xx는 성공을 의미해요. 200 OK는 요청이 성공했다는 뜻이고, 201 Created는 새로운 데이터가 만들어졌다는 뜻입니다. 게시글을 작성했을 때 201이 돌아오면 서버에 잘 저장됐다는 거예요. 204 No Content는 요청은 성공했지만 응답할 내용이 없다는 뜻으로, 삭제 요청에서 자주 사용돼요.
4xx는 클라이언트 에러예요. 요청을 보낸 쪽(프론트엔드나 사용자)이 뭔가 잘못했다는 의미죠. 400 Bad Request는 요청 형식이 잘못됐을 때, 401 Unauthorized는 로그인이 필요할 때, 403 Forbidden은 권한이 없을 때, 404 Not Found는 요청한 페이지나 데이터가 없을 때 나타나요. 비밀번호를 틀렸다면 401, 관리자 페이지에 일반 사용자가 접근하려 하면 403이 돌아옵니다.
5xx는 서버 에러예요. 서버 쪽에서 뭔가 잘못됐다는 뜻이죠. 500 Internal Server Error는 서버에서 예상치 못한 오류가 발생했을 때, 502 Bad Gateway는 서버가 다른 서버로부터 잘못된 응답을 받았을 때, 503 Service Unavailable은 서버가 일시적으로 요청을 처리할 수 없을 때 나타나요. 데이터베이스 연결이 끊기거나 코드에 버그가 있으면 500이 발생합니다.
개발할 때 이 코드들을 제대로 사용하는 게 중요해요. 프론트엔드 개발자는 상태 코드를 보고 사용자에게 적절한 메시지를 보여줄 수 있고, 백엔드 개발자는 에러 로그를 분석해 어디서 문제가 생겼는지 빠르게 파악할 수 있습니다.