minstudio

미들웨어(Middleware)의 원리

클라이언트의 "요청(Request)"과 서버의 최종 "응답(Response)" 사이에 위치하여, 지나가는 요청을 가로채서 검사하거나 가공하는 공항의 검색대 같은 역할입니다.

💡 모든 라우트에서 공통으로 필요한 로직(로그인 확인, 악성 요청 차단, 로깅 등)을 라우트마다 중복으로 적지 않고 미들웨어 하나로 깔끔하게 처리할 수 있습니다.

// 내가 만든 커스텀 미들웨어
const myLogger = (req, res, next) => {
    console.log(`[시간: ${new Date()}] 누군가 ${req.url} 에 접속함`);
    // next()를 꼭 호출해야 다음 로직으로 넘어감! 안 그러면 무한 대기!
    next(); 
};

// 모든 라우트에 미들웨어 장착
app.use(myLogger);

app.get("/", (req, res) => {
    res.send("메인 페이지"); // 접속하면 먼저 로그가 찍히고 응답이 옴
});
실행 결과
미들웨어(Middleware)의 원리 | Minstudio