Express 공식 사이트의 내용을 해석하고 정리한 글이다.
"Express is a routing and middleware web framework that has minimal functionality of its own: An Express application is essentially a series of middleware function calls. " Using middleware - express
인용문에서 볼 수 있듯이 Express는 routing을 해주며, 등록된 middleware를 순서대로 호출해주는 web framework이다.
express middleware(이하 middleware)는 함수들로 구성되어 있다.
이 함수들은 request-response cycle 동안 실행되며, request와 response 객체에 접근할 수 있다.
middleware는 server가 request를 받고 response를 보낼 때까지 실행된다.
express의 middleware는 함수이다.
request, response 객체에 속성을 추가, 수정, 삭제 가능하다.
우리가 자주 사용하던 cookie-parser를 예로 들어보자.
cookie-parser를 middleware로 등록하면, req.cookie로 쿠키 객체를 사용할 수 있다.
이는 cookie-parser가 http request header에 있는 Cookie 값을 객체로 변환해서 express request 객체에 추가 해놓은 것이다.