이번 챕터에서는 과제 - 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의 가장 큰 장점입니다.
미들웨어를 사용하는 상황
- POST 요청 등에 포함된 body(payload)를 구조화할 때(쉽게 얻어내고자 할 때)
- 모든 요청/응답에 CORS 헤더를 붙여야 할 때
- 모든 요청에 대해 url이나 메서드를 확인할 때
- 요청 헤더에 사용자 인증 정보가 담겨있는지 확인할 때
미들웨어 작동 원리 이해하기
- POST 요청 등에 포함된 body(payload)를 구조화할 때(쉽게 얻어내고자 할 때)
- 모든 요청/응답에 CORS 헤더를 붙여야 할 때
- 모든 요청에 대해 url이나 메서드를 확인할 때
- 요청 헤더에 사용자 인증 정보가 담겨있는지 확인할 때
미들웨어는 일반적으로 다음과 같은 구성을 가집니다.
위 그림은 endpoint가 /이면서, 클라이언트로부터 GET 요청을 받았을 때 적용되는 미들웨어입니다. 파라미터의 순서에 유의해야 합니다. req, res는 우리가 잘 아는 요청(request), 응답(response)이고 next는 다음 미들웨어를 실행하는 역할을 합니다.
'코드스테이츠 42기 > [TIL] Section 2' 카테고리의 다른 글
나만의 아고라 스테이츠 서버 만들기 (0) | 2022.12.13 |
---|---|
S2U10 [Web Server] 기초 3 (0) | 2022.12.12 |
S2U10 [Web Server] 기초 1 (0) | 2022.12.08 |
S2U9 [React] 클라이언트 Ajax 요청 2 (0) | 2022.12.07 |
S2U9 [React] 클라이언트 Ajax 요청 1 (0) | 2022.12.06 |