본문 바로가기

Node.js

9. 용어 정리

1. 라우팅 

 

특정한 URL을 통해 클라이언트의 요청이 들어왔을 때 그에 맞는 적절한 반응을 취해주는 것이다. 

express에서는 http request가 들어왔을 경우 mthod type 에 따라 라우팅을 해줄 수 있다.

 

2. 미들웨어 

 

http request 가 사용자로부터 날라왔을 때 사용자가 요청하면서 보내는 정보(request)와 서버가 보낼 정보 (response) 에접근 가능한 함수이다.

 

app.use('path', function(req, res)=>{
	do(something);
	next();
});

 

use method를 사용할 경우 http request가 해당 url 로 보내질 경우 method type에 관계없이 반드시 실행된다.

next() 는 다음에 실행할 method 가 있으면 다음으로 넘어가게 해준다.

 

app.get('path', function(req, res)=>{
	do something here...        
});

 

http request 가 get method 의 형태로 호출할 경우에만 실행된다. 이는 put, delete의 경우도 마찬가지라 다음과 같이 함수명만 바꾸면 된다.

 

app.post('path', function(req, res)=>{
	do something here...        
});

app.delete('path', function(req, res)=>{
	do something here...        
});

 

✅ use method vs. all method 

 

공통점

 

두 method 모두 get, post, put, delete 가릴 것 없이 http request가 들어오면 처리한다.

 

차이점 

 

use method : 첫 번째 인자로 들어오는 것을 시작 경로로 삼아 매칭한다.

 

app.use('/a', function(req,res) =>{});

 

request의 경로가 예를들어 /a/b/c ... 라면 매칭한다. a로 시작하는 모든 경로에 대하여 routing이 진행된다.

 

all method : 첫 번째 인자와 request 경로가 정확히 일치할 때만 매칭한다.

 

app.all('/a', function(req, res) =>{});

 

request의 경로가 /a 로 정확히 매칭될 경우에만 함수가 호출된다. app.use 에서 매칭되었던 /a/b/c/... 는 여기에서 매칭되지 않는다.

'Node.js' 카테고리의 다른 글

11. req.params 과 req.body  (0) 2022.02.27
10. 구조 분해 할당 ( Destructiong assignment)  (0) 2022.02.27
8. REST API  (0) 2022.02.19
7. middleware  (0) 2022.02.19
6. Express.js  (0) 2022.02.18