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
'컴퓨터 공학 & 통신' 카테고리의 다른 글
| [개념 정리] JSON (0) | 2023.06.27 |
|---|---|
| [키워드 정리] 개발에서 이야기하는 '자원'이란 뭘까? (0) | 2023.03.30 |
| [http 통신] 인증 & 인가 - JWT (0) | 2023.03.28 |
| [터미널] Linux Command 자주 쓰는 명령어 (1) | 2023.03.15 |
| [터미널] 터미널에서 잘못 입력해서 먹통 됐을 때 (1) | 2023.03.15 |