- 웹 서버에서 클라이언트의 모든 요청에 대해 공통적인 처리를 하고싶을 때 사용합니다. (파이프 역할)
- 브라우저가 보낸 데이터를 쉽게 사용할 수 있게 변경하기 위해 사용합니다. (전처리, 에러 처리 역할 도 같이 수행)
- Apache, Nginx 같은 웹 서버에도 모듈이라는 매우 유사한 개념이 있습니다.
미들웨어의 기본 형태
app.use((req, res, next) => {
// 필요한 코드
});
- req: request
- HTTP Headers, Query Parameters, URL 등 브라우저가 서버로 보내는 정보들이 담겨 있습니다.
- res: response
- 어떤 HTTP Status Code로 응답 할지, 어떤 데이터 형식으로 응답 할지, 헤더는 어떤 값을 넣어 응답 할지 다양한 기능을 제공합니다.
- next: 다음 미들웨어를 호출합니다.
- next와 res.send()를 사용한 미들웨어 흐름
'웹' 카테고리의 다른 글
JWT(JSON Web Token) (0) | 2022.03.02 |
---|---|
Routing, Router?(express) (0) | 2022.01.21 |
Express.js? (0) | 2022.01.21 |
웹 서버? (0) | 2022.01.21 |
HTTP (0) | 2022.01.21 |