요청은 등록 순서대로 흐르고, 응답에서 멈춘다

Express 앱은 선언 목록이 아니라 실행 스택이다. 미들웨어가 제어권을 넘길지, 응답할지, 오류 경로로 보낼지가 다음 단계를 결정한다.

01 · IN 요청 도착

HTTP method와 path를 가진 요청이 스택에 들어온다.

02 · USE 공통 처리

로그·JSON 파싱·인증이 등록된 순서로 실행된다.

03 · MATCH 라우트 선택

method와 path가 모두 맞는 handler가 실행된다.

04 · OUT 응답 확정

status와 body를 보내면 해당 요청 주기가 끝난다.

각 미들웨어의 제어권 선택
next()

현재 처리를 마치고 다음 일반 미들웨어로 진행

res.*()

응답을 전송하고 더 이상 스택을 진행하지 않음

next(error)

일반 단계를 건너뛰고 뒤쪽 오류 미들웨어로 이동

배치 기준: 파서·인증은 사용하는 라우트보다 앞에, 4개 인자의 오류 미들웨어는 라우트보다 뒤에 둔다. 응답 없이 스택 끝에 도달하면 404 처리 대상이다.