blevels

Home / AI / AI 용어사전 / 미들웨어(Middleware) — AI 서비스 요청·응답 사이의 중간 계층

TERM

미들웨어(Middleware) — AI 서비스 요청·응답 사이의 중간 계층

게시일 2026-04-30수정일 2026-04-30
공식 링크
On this page

클라이언트 요청이 비즈니스 로직에 닿기 전, 반드시 거쳐야 할 공통 관문이 있다. 인증 확인, 로그 기록, 요청 데이터 파싱 — 미들웨어는 이 반복 작업을 한 곳에서 처리하는 중간 계층이다.

정의

미들웨어(Middleware)는 요청(Request)과 응답(Response) 사이에서 공통 로직을 실행하는 소프트웨어 계층이다. 웹 프레임워크(Express, FastAPI, Next.js)에서 함수 체인으로 구현되며, 인증·로깅·에러 처리·CORS 설정 등 모든 엔드포인트에 반복 적용할 코드를 단 한 곳에서 관리한다.

상세 설명

미들웨어는 요청 → 미들웨어 체인 → 라우트 핸들러 → 응답의 흐름으로 동작한다. 각 미들웨어는 다음 미들웨어를 호출(next())하거나 응답을 직접 종료하는 두 가지 선택지를 갖는다.

Express.js 예시

// 인증 미들웨어
app.use((req, res, next) => {
  const token = req.headers['authorization'];
  if (!token) return res.status(401).json({ error: 'Unauthorized' });
  req.user = verifyToken(token);
  next(); // 다음 미들웨어 또는 라우트로 진행
});

// 로깅 미들웨어
app.use((req, res, next) => {
  console.log(`${req.method} ${req.path} - ${new Date().toISOString()}`);
  next();
});

AI 서비스 아키텍처에서 미들웨어의 역할은 더 광범위하다. rate-limiting 미들웨어는 사용자별 API 호출 한도를 적용하고, 프롬프트 인젝션 방어 미들웨어는 입력 텍스트를 사전 필터링한다. 응답 스트리밍 환경에서는 미들웨어가 SSE 헤더를 자동 주입하기도 한다.

Next.js 미들웨어는 엣지 런타임에서 실행되어 latency 없이 지리적 라우팅, A/B 테스트, 인증 리다이렉트를 처리한다.

// Next.js middleware.ts
import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';

export function middleware(request: NextRequest) {
  const token = request.cookies.get('session');
  if (!token) {
    return NextResponse.redirect(new URL('/login', request.url));
  }
  return NextResponse.next();
}

export const config = {
  matcher: ['/dashboard/:path*', '/api/:path*'],
};
AD

활용 사례

  • AI 챗봇 API — JWT 인증 미들웨어로 무인가 요청 차단
  • 프롬프트 필터링 — 입력 텍스트에서 민감 정보 마스킹
  • rate-limiting — 사용자별 분당 API 호출 제한
  • CORS 설정 — 허용된 도메인 외 요청 자동 차단
  • 에러 핸들링 — 모든 라우트의 예외를 한 곳에서 포맷해 반환

관련 용어

  • api — 미들웨어가 보호하는 주요 진입점
  • authentication — JWT·세션 검증을 담당하는 미들웨어의 핵심 역할
  • cors — Cross-Origin Resource Sharing. 미들웨어로 설정
  • rate-limiting — 요청 빈도 제한. 미들웨어 레이어에서 구현
  • latency — 미들웨어 체인이 길어질수록 처리 지연이 누적됨
AD