coding/IT, CS

http 상태코드

JIN_Coder 2022. 8. 31. 23:35

api통신을 하다 보면 http의 상태 코드를 어떻게 해서 응답해야 할지 고민이 많이 든다.

이번 기회에 http상태 코드를 공부해보고 자주 사용하는 코드를 정리해서 잘 사용하려고 정리해본다.

 

 

status code

사용자가 웹 서버에 요청을 보냈을 때, 응답으로 보내주는 숫자 코드

각 숫자는 미리 약속된 특정한 의미를 가지고 있다.

클라이언트는 응답으로 온 코드의 숫자를 통해 요청이 성공했는지, 실패했다면 무슨 이유인지 대략적으로 알 수 있다.

 

기본적인 status code

1xx(정보) : 요청을 받았으며 프로세스를 계속 진행

2xx(성공) : 요청을 성공적으로 받았으며 인식했고 수용

3xx(리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요

4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없음

5xx(서버 오류) : 서버가 명백히 유효한 요청에 대한 충족을 실패

 

 

자주 사용하는 상태 코드

2XX success

 

200 : ok

대표적인 성공코드(에러 없이 요청과 응답이 성공적으로 진행됨을 의미)

대부분의 성공코드를 200으로 통일하기도 함

좀 더 자세히 한다면, 200은 주로 GET 요청에 대한 응답으로 사용

 

201 : created

무언가를 생성했을 때 사용

요청이 성공적으로 처리되어 서버가 새로운 리소스를 생성했을 때 사용

주로 POST, PUT 요청에 대한 응답으로 사용

 

204 : no content

요청은 성공했고, 서버에서 따로 응답으로 줄 데이터가 없을 경우 사용

PUT 요청에 수정사항이 없는 경우 사용,

DELETE요청에 데이터를 삭제 후 보내줄 데이터가 없을 경우 사용

 

 

 

4XX client error

 

400 : bad request

클라이언트의 잘못된 요청 시 사용

api에 정의되지 않은 방식으로 요청하거나, 필요한 데이터를 전부 보내지 않았을 경우 등 사용자의 잘못된 요청에 응답하는 코드

 

401 :unauthorized

클라이언트가 권한이 없을 경우 요청을 받아들일 수 없을 때 사용

로그인이 필요한 경우 로그인을 하지 않으면 응답하는 코드

 

403 :forbidden

클라이언트가 권한이 없을 경우 요청을 받아들일 수 없을 때 사용

401과 비슷하지만, 권한 등급이 낮아 접근이 불가능할 때 사용

예를 들어 로그인은 되어있지만, 일정 등급 이상의 사용자만 접근 가능한 카페 같은 곳에서 자주 사용

 

404 :not found

서버에 클라이언트가 요청한 리소스를 찾을 수 없을 때 사용

실생활에서 자주 보는 에러이며, 링크를 잘못 입력하거나, 사라진 링크에 접근할 때 등 많은 이유로 404 코드를 볼 수 있다.

 

 

 

5XX server error

 

500 : internal server error

서버 오류에 대해 포괄적으로 사용되는 코드

클라이언트의 요청을 처리하는 과정에서 서버의 여러 문제가 생겼을 때 사용

 

501 : not implemented

서버가 요청을 이행하는 데 필요한 기능을 지원하지 않을 때 사용

 

502 : bad gateway

서버가 게이트웨이로부터 잘못된 응답을 수신했을 때 사용

인터넷상의 서버가 다른 서버로부터 유효하지 않은 응답을 받은 결루 발생

 

503 : service unavailable

서버의 과부하, 점검 등의 이유로 일시적으로 서버에 접근이 불가능할 때 사용

 

 

 

 

자주 사용하는 HTTP 상태 코드

외울만한 코드들!!

velog.io

 

 

HTTP 상태 코드 정리 | 와탭 블로그

HTTP 응답 상태 코드의 목록을 정리하여 소개합니다. 클라이언트의 요청에 따라 어떻게 서버가 응답하는지 알아봅시다.

www.whatap.io

 

'coding > IT, CS' 카테고리의 다른 글

github 커밋 히스토리 삭제  (0) 2022.09.12
TCP / UDP  (0) 2022.09.04
http https  (0) 2022.08.19
Side effect, Decoupling, 디자인 패턴  (0) 2022.08.10
테스트 코드 종류와 테스트 피라미드  (0) 2022.08.09