본문 바로가기
코드스테이츠 42기/[TIL] Section 2

S2U10 [Web Server] 기초2

by 랜덤다이스 2022. 12. 9.

이번 챕터에서는 과제 - Mini Node Server에서 HTTP 모듈로 작성했던 서버를

프레임워크 Express를 이용하는 방식으로 리팩토링합니다.

 

1. Express 설치

참고 : https://expressjs.com/ko/starter/installing.html

2. 간단한 웹 서버 만들기

참고 : https://expressjs.com/ko/starter/hello-world.html

3. 라우팅: 메서드와 url에 따라 분기(Routing)하기

참고 : https://expressjs.com/ko/starter/basic-routing.html

 

Middleware 1

미들웨어(Middleware)는 자동차 공장의 공정과 비슷합니다. 컨베이어 벨트 위에 올라가 있는 요청(Request)에 필요한 기능을 더하거나, 문제가 발견된 불량품을 밖으로 걷어내는 역할을 합니다. 미들웨어는 express의 가장 큰 장점입니다.

 

미들웨어를 사용하는 상황

  1. POST 요청 등에 포함된 body(payload)를 구조화할 때(쉽게 얻어내고자 할 때)
  2. 모든 요청/응답에 CORS 헤더를 붙여야 할 때
  3. 모든 요청에 대해 url이나 메서드를 확인할 때
  4. 요청 헤더에 사용자 인증 정보가 담겨있는지 확인할 때

미들웨어 작동 원리 이해하기

  1. POST 요청 등에 포함된 body(payload)를 구조화할 때(쉽게 얻어내고자 할 때)
  2. 모든 요청/응답에 CORS 헤더를 붙여야 할 때
  3. 모든 요청에 대해 url이나 메서드를 확인할 때
  4. 요청 헤더에 사용자 인증 정보가 담겨있는지 확인할 때

미들웨어는 일반적으로 다음과 같은 구성을 가집니다.

위 그림은 endpoint가 /이면서, 클라이언트로부터 GET 요청을 받았을 때 적용되는 미들웨어입니다. 파라미터의 순서에 유의해야 합니다. req, res는 우리가 잘 아는 요청(request), 응답(response)이고 next는 다음 미들웨어를 실행하는 역할을 합니다.