컴퓨터 공학 & 통신

[http 통신] response(응답) status code 종류

왈왈디 2023. 3. 29. 21:37
728x90

클라이언트가 서버에 request를 보내면, 

서버는 클라이언트에게 response를 보내준다.

 

repsonse는

Status Line, Headers, Body로 이루어져 있으며,

status line에는 status code가 포함된다.

 

status code는 request가 어떻게 처리되었는지를 세 자리 숫자로 표현한다.

status code(상태 코드)만 보아도 응답의 성공 여부 등을 빠르게 파악할 수 있다.

 

자주 사용되는 3가지 그룹의 status code를 알아보자.

200번대: Successful responses

200: OK

  • 요청에 대한 처리가 백엔드 서버에서 성공적으로 되었을 때의 상태 코드.

201: Created

  • 요청이 성공적이고 그 결과로 새로운 리소스가 생성되었을 때.
  • 일반적으로 POST, PUT 요청 이후에 사용.

204: No Content

  • 요청이 성공했으며 제공할 응답 메시지가 없을 경우.
  • 주로 DELETE 요청으로 리소스가 성공적으로 삭제되고 응답으로 제공할 콘텐츠가 없을 경우 사용.
  • 이 코드를 쓰면 Response의 body를 쓸 수 없기 때문에 주의.
  • res.status(204).send()

 

400번대: Client error responses

400: Bad Request

  • 해당 요청이 잘못되었을 때의 상태 코드.
  • 주로 요청의 Body의 내용이 잘못되었을 때 사용됩니다.
    • ex) 전화번호를 보내야 하는데 숫자가 아닌 문자열의 주소가 Body에 담겼을 경우

401: Unauthorized

  • 유저가 해당 요청을 진행하려면 먼저 로그인을 하거나 회원가입이 필요하다는 의미.
    • ex) ‘wish list’, ‘좋아요’ 기능 등 회원이 아니면 요청을 보낼 수 없는 경우

403: Forbidden

  • 유저가 해당 요청에 대한 권한이 없다는 의미.
  • 접근 불가능한 정보에 접근했을 경우에 사용됩니다.
    • ex) 유료 회원만 접근할 수 있는 데이터를 요청 한 경우

404: Not Found

  • 요청된 URI 가 존재하지 않는다는 의미.
  • 404에러가 뜨면 주소 혹은 router를 확인하자.

 

500번대: Server error responses

500: Internal Server Error

  • 서버에서 에러가 났을 때 사용 되는 상태 코드.
  • 서버에서 핸들링하지 못한 오류가 발생했을 때 사용.
  • 500 코드가 발생하면, 경우의 수를 파악하여, 에러 핸들링 작업 추가하기.

502: Bad Gateway

게이트웨이 또는 프록시 서버에 에러 발생

 

504: Gateway Timeout

게이트웨이 또는 프록시 서버가 정해진 시간 안에 클라이언트의 요청을 처리하지 못했음을 의미


 

+100번대와 300번대도 추가로 알아보자

100번대 - 정보

서버가 요청을 잘 받았으며, 해당 프로세스를 계속 이어가며 처리하는 것을 의미

  • 100: 계속함

300번대 - 리다이렉션(Redirection)

서버가 클라이언트의 요청을 완료하기 위해 추가 작업 조치가 필요함을 의미

  • 301: moved permanently, 요청한 리소스의 URI가 변경되었음, 변경된 새로운 URI를 301 상태코드와 함께 전달해야

 

728x90