티스토리 뷰

1. Router (라우터)

2. Middleware (미들웨어)


1. Router (라우터)

[그림 1] Router와 Middleware

Node.js에서 express 라이브러리를 사용할 때 필수적으로 알고 있어야 하는 개념 중에 라우터와 미들웨어가 있다.

 

Node.js를 접하기 전, 라우터는 OSI 7계층 중 네트워크 계층(제3레이어)의 장비로서 컴퓨터 네트워크 간에 데이터 패킷을 전송하는 네트워크 장비로서의 뜻만 알고 있었다. Node.js에서 쓰이는 라우터라는 용어는 물리적인 어떤 장치나 장비를 뜻하지는 않지만, 본질적인 의미는 동일하다.

 

라우터는 클라이언트의 요청(Request) 경로를 보고 해당 요청 정보를 처리할 수 있는 곳으로 기능을 전달해주는 역할을 한다. 즉, 클라이언트의 요청 경로에 따라서 그것을 담당하는 함수로 분리시킨다. 라우터로 등록하려면 get() 메소드를 호출하여 등록할 수 있다.

 

 

2. Middleware (미들웨어)

미들웨어란, 용어 그대로 중간에 있는 프로그램인데, 요청(Request)응답(Response)의 사이에서 어느 한 과정을 처리하는 함수라고 할 수 있다. 한 마디로, Express에서는 클라이언트의 요청과 응답에 관한 정보로 필요한 처리들을 할 수 있도록 따로 독립된 함수로 분리한다. 이렇게 분리한 함수들을 미들웨어라고 한다.

 

미들웨어를 등록할 때에는 use() 메소드를 이용하여 등록하고, 여러 미들웨어를 등록했다면 next() 메소드를 호출해서 다음 미들웨어가 처리할 수 있도록 넘길 수 있다.

 

여러 기능들에 대한 미들웨어들을 직접 만드려면 매우 어려울 것이다. 그래서 개발자들이 만들어 놓은 미들웨어를 다운받고 불러와서 사용할 수 있다. 예로, serve-static, body-parser, Session, cookie-parser 등이 있다. 개발자들이 만들어 놓은 미들웨어들을 사용하려면 npm에서 다운받아 require() 메소드를 호출해서 사용하면 된다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함