[Node.js] Node.js 기본 개념

Hansol Jeong·2022년 3월 14일
0

Back-end Course

목록 보기
1/6

📌UI 와 API

UI

사용자와 소프트웨어가 만나는 경계면. 유저와 소프트웨어를 이어주는 부분.

API

어플리케이션 간의 의사소통 매개체. API를 만든다 는 말은 함수를 만든다 라는 의미로 사용하기도 합니다.

UI-API 비유

  1. 손님이 주문하고 점원이 주문을 받음 - UI
  2. 점원이 주방에 주문받은 메뉴를 전달하고 - API Request
  3. 주방에서 메뉴를 제조해 점원에게 전달 - API Response
  4. 점원이 손님에게 나온 메뉴를 전달 - UI

📌HTTP Module vs Express

HTTP Module

Node.js 의 내장 모듈로, 서버를 생성하고 http 요청을 처리하는 함수를 구현할 수 있습니다.

  • 해당 모듈로 서버를 만들고 request-response 할 수 있지만 규모가 커지면 서버를 실행하는 함수 안에서 수많은 조건문과 로직을 모듈화 하는데 큰 공을 들이게 됩니다.

Express

위와 같은 문제를 해결하기 위해 나온 Framework 가 Express 입니다.
주요 기능은 라우팅로직의 모듈화입니다.
각각의 요청을 처리하는 함수의 분리로 인해 직관적으로 코드를 설계할 수 있는 장점을 가지게 됩니다.

📌Response 를 반환하는 여러가지 방법

res는 NodeJs만의 업그레이드된 response object 입니다.

res.send()

send에 전해진 argument에 따라서 Content-type이 자동적으로 만들어진다. 이게 기본이다.

res.json()

json이 아닌 것도 json 형식으로 바꾸어서 보내준다. 즉 content-type 헤더를 application/JSON으로 고정한다. 그런데 결국 res.json()도 마지막에 res.send()를 호출한다.

res.end()

보내줄 아무 데이터도 없는데 response를 끝내고 싶을 때 사용한다.
ex) res.status(400).end();

📌자주 사용하는 status 코드

2xx Sucess

요청 성공

4xx Client Error

클라이언트의 요청이 유효하지 않아 서버가 해당 요청을 수행하지 않았음.

5xx Server Errors 서버 오류

서버 오류로 인해 요청을 수행할 수 없음.

profile
기록해둡시다

0개의 댓글