🌐
웹개발
미들웨어
Middleware
요청과 응답 사이에서 처리를 수행하는 소프트웨어. 인증, 로깅, 에러 처리 등에 활용.
Middleware
요청과 응답 사이에서 처리를 수행하는 소프트웨어. 인증, 로깅, 에러 처리 등에 활용.
미들웨어(Middleware)는 요청(Request)과 응답(Response) 사이에서 실행되는 함수입니다. 주로 인증, 로깅, 에러 처리, 데이터 변환 등 공통 작업을 처리합니다.
미들웨어는 체인처럼 연결되어 순차적으로 실행되며, next()를 호출해야 다음 미들웨어로 넘어갑니다.
// Express.js 미들웨어
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`); // 로깅
next(); // 다음 미들웨어로
});
// 인증 미들웨어
const authMiddleware = (req, res, next) => {
if (!req.headers.authorization) {
return res.status(401).json({ error: 'Unauthorized' });
}
next();
};
app.get('/api/protected', authMiddleware, (req, res) => {
res.json({ data: 'secret' });
});
신입
"모든 API에서 로그인 체크하려면 if문 다 넣어야 해요?"
시니어
"미들웨어 하나 만들어서 라우터에 적용해. 공통 로직은 미들웨어로 빼는 게 기본이야."
순서 중요: 미들웨어는 등록 순서대로 실행됩니다. 인증 미들웨어가 라우터보다 뒤에 있으면 의미가 없습니다.
next() 호출 필수: next()를 호출하지 않으면 요청이 멈춥니다.