마이의 개발 블로그

[Web] HTTP 응답 상태 코드 (HTTP response status code) 본문

개발지식/Web

[Web] HTTP 응답 상태 코드 (HTTP response status code)

개발자마이 2022. 11. 1. 00:41
반응형

요즘은 ExpressJS 프레임워크를 사용하여 백엔드 API를 개발하는 업무를 주로 하고있다.

 

프레임워크나 프로젝트 셋업에 따라 응답코드를 알아서 리턴해주는 경우도 있지만, 현재 프로젝트에서는 아래와 같이 응답코드를 직접 적어줘야할 경우들이 종종 있어 세부적인 내용을 알아두고자 정리해본다.

if(files.length < 1){
        res.status(400).json({message: '이미지를 업로드해주세요.'});
}else{
    const result = await md.upload(data);
    if(result.affectedRows > 0){
        res.status(200).json({message: '업로드 완료'});
    }else{
        res.status(500).json({message: '업로드 실패'});
    }
}

 

HTTP 응답 상태 코드의 종류

  • 100번대 (100 - 199) : 정보 (요청을 받았고 현재 처리 중)
  • 200번대 (200 - 299) : 성공 (요청을 받아 성공적으로 완료함)
  • 300번대 (300 - 399) : 리디렉션 메시지 (요청한 컨텐츠가 다른 위치에 있음)
  • 400번대 (400 - 499) : 클라이언트 오류 (요청이 잘못되었음)
  • 500번대 (500 - 599) : 서버 오류 (서버측에서 요청을 충족시키지 못함)

개발하며 내가  가장 많이 경험한 건 아무래도 200번(성공), 400번(클라이언트 오류), 500번(서버 오류)대의 응답들인데, 요즘의 나는 이 응답코드들을 볼 때 이렇게 느낀다 (나는 API를 만들 때도 있고, 호출할 때도 있다).

  • 200번대 : "일단 요청이 오고 데이터 형식도 맞아서 응답이 온 거 같기는 한데... API가 내 의도대로 응답을 보낸걸까?"
  • 400번대 : "클라이언트에서 보낸 요청이 잘못된 건 알겠는데... 혹시나 내가 API를 잘못 만들어서 제대로된 요청을 잘못 처리하는 건 아닐까?"
  • 500번대 : "어디서부터 잘못된걸까?"

정말 끊임없는 자문자답의 연속이다. 자주 있는 일은 아니지만 특히 500번대의 경우 정말 예상치 못한, 내가 현재 작업 중이 아닌 모듈이나 경로들에서 발생하는 오류들로 인해 맘고생을 시키는 경우도 간혹 있어 시간을 좀 더 잡아먹는 듯하다. 경험이 좀 더 쌓이면 힘 안 들이고도 오류 대응을 할 수 있게 되는 걸까?

 

*HTTP 응답 상태 코드의 각 번호별 세부코드는 아래 참고자료 (위키피디아) 링크 참조

 

참고: HTTP 응답 상태 코드

 

반응형
Comments