router req, res, uri 쉬운 설명


안녕하세요.
고코더 입니다.


제 노드 강의를 따라온분들이 이제 질문이 생기기 시작했습니다.
좋은 현상입니다. 제가 예제로 노드가 익숙해지시면 설명드리려 했던 라우터에 대해 말씀드릴려고 합니다. 



 1. 라우터 URI 경로



 1-1. 매번 익숙하게 선언했던 라우터 메소드 뒤에 URI 가 있습니다.
계속 이부분을 루트 '/'로만 사용중이었는데요.
router.get('/', function (req, res) {
이 부분은 라우터 이후에 원하는 URI로 경로를 받을 수 있습니다.
app.use('/', indexRouter);로 설정된 라우터 기준으로 말씀드리겠습니다.

 1-2. 접속 : http://사이트주소/gocoder
router.get('/gocoder', function(req, res) {
});

 1-3. 접속 : http://사이트주소/gocoder/itexpress
router.get('/gocoder/itexpress', function(req, res) {
});

 1-4. 접속 : http://사이트주소/gocoder/itexpress/*(모든데이터)/
router.get('/gocoder/itexpress/:id/', function(req, res) {
});

 1-5. 접속 : http://사이트주소/gocoder/itexpress/*(모든데이터)/*(모든데이터)
router.get('/gocoder/itexpress/:id/:cate/', function(req, res) {
});

이런식으로 원하는 형식에 URI로 요청을 받을 수 있습니다. 그리고
패턴과 정규식으로도 요청을 얻어 낼 수 있습니다.

 1-6. 접속 : http://사이트주소/go(ooooo)coder
router.get('/go+coder', function(req, res) {
});

 1-7. 접속 : http://사이트주소/go(itexpress)coder
http://사이트주소/go(모든문자와 길이)coder
router.get('/go*coder', function(req, res) {
});

 1-8. 접속 : http://사이트주소/(g가 포함된문자)/
router.get(/g/, function(req, res) {
});




 2. req (요청객체) / request



 2-1. 우리가 흔히 알고 있는 request 객체 입니다. 
req로 사용하지 않아도 되지만 req로 사용을 많이 합니다. 
기존에 언어처럼 요청을 받는데 이용한다.

 2-2. 많이 사용하는 req 객체

req.params : 객체는 파라미터에 데이터를 가져온다.
req.query : 쿼리스트링 파라미터에 전부를 가져온다.
req.headers : header 값을 가져온다.
req.cookies : 쿠키값을 확인한다. 
req.ip : 프론트 아이피를 가져온다
req.protoco : 프로토콜 http? https? 인지 가져온다
req.url : 전체 URI 정보를 가져온다.



 3. res (응답 객체) / response

 3-1. 우리가 사용하는 response와 같다.
역시 res대신 다른 변수로 사용 가능하다.

 3-2. 많이 사용하는 res 객체

res.send() : 클라이언트에 응답을 보낼 수 있다. 디버깅에서 많이 사용
res.json() : 클라이언트에 자동으로 json을 만들어준다
res.jsonp() : 클라이언트에 자동으로 jsonp을 만들어준다
res.redirect() : 리다이렉트, 페이지를 이동 시킨다.



마무리


express에서 많이 사용할 객체들이니
눈으로 익혀두자




아메리카노 한잔으로 배우는 Node.js Express 기본편



해당 내용은 제가 집필한 책에 일부를 발취한 내용입니다.
도움이 되셨으면 후원에 마음으로 제 책을 전국 온라인 서점에서 구매해보세요.




댓글을 달아 주세요