
155
10
장
-
미들웨어
우리는 이미 몇 가지 미들웨어를 사용해봤습니다.
body
-
parser
,
cookie
-
parser
,
static
같
은 기존 미들웨어도 써봤고, 쿼리스트링에
&
test
=
1
이 있는지 확인하는 미들웨어,
404
핸들러
는 직접 만들어봤습니다. 그런데 미들웨어는 정확히 무슨 뜻일까요?
개념적으로 말하면 미들웨어는 기능, 특히 애플리케이션에 대한
HTTP
요청에서 동작하는 기
능을 캡슐화하는 방법입니다. 현실적으로 말하면 미들웨어는 단순히 매개변수 세 가지를 받는
함수입니다. 세 가지 매개변수란 요청 객체와 응답 객체, 그리고 곧 설명할
'
next
'
함수입니
다. 에러 처리를 위해 네 가지 매개변수를 받는 미들웨어도 있는데, 그건 이 장 마지막에서 설
명할 겁니다.
미들웨어는 파이프라인이라 부르는 것 속에서 실행됩니다. 물이 흐르고 있는 파이프를 생각해
봅시다. 파이프 한쪽 끝에서는 물을 펌프로 끌어올리고, 중간에는 게이지와 밸브도 있습니다.
이 비유에서 중요한 부분은 순서에 의미가 있다는 겁니다. 압력 게이지를 밸브 앞에 두느냐, 뒤
에 두느냐에 따라 게이지에 표시되는 내용이 다를 겁니다. 마찬가지로 물에 무언가를 주입하는
밸브가 있다면, 그 밸브 ‘다음’을 흐르는 물에는 모두 그 재료가 섞여 있을 겁니다. 익스프레스
앱에서는
app
.
use