미들웨어(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("메인 페이지"); // 접속하면 먼저 로그가 찍히고 응답이 옴
});