Express 요청 객체에 추가한 header와 parameter 분석



[표] Express에서 추가로 사용할 수 있는 요청 객체의 속성들.

 추가한정보          

 설명

 query    

 클라이언트에서 get방식으로 전송한 요청 파라미터를 확인합니다. ex) req.query.name

 body 

 클라이언트에서 POST방식으로 전송한 요청 파라미터를 확인합니다.

단 body-parser와 같은 외장 모듈을 사용해야합니다.

ex) req.body.name

 header(name) 

 헤더를 확인합니다.



요청하는 파라미터는 query string 이라고 합니다. 

클라이언트에서 서버로 요청할떄 문자열로 데이터를 전달하는것을 지칭합니다.


req객체의 query 객체 안에 넣어두어 사용합니다.


client 가 요청할 때 전달되는 헤더값들은 header()메소드로 확인할 수 있습니다.




//Express 기본 모듈 불러오기.

var express = require('express');
var http = require('http');

//Express 객체 생성
var app = express();

//기본포트를 app 객체에 속성으로 설정
app.set('port', process.env.PORT || 3000);



app.use(function(req, res, next){
console.log('첫번째 미들웨어 요청 처리');

var userAgent = req.header('User-Agent');
var paramName = req.query.name;

res.writeHead('200', {'Content-Type': 'text/html; charset=utf8'});
res.write('<h1>Express 서버에서 응답한 결과</h1>');
res.write('<div><p>user-agnet: ' + userAgent + '</p></div>');
res.write('<div><p>Param name: ' + paramName + '</p></div>');
res.end();

});


//Express 서버 시작
http.createServer(app).listen(app.get('port'), function(){
console.log('Express 서버를 시작했습니다. : '+ app.get('port'));
});



웹사이트에서 다음과 같은 url을 입력해봅니다.  query 에 name=jinss값을 넣어서 요청을 합니다.


http://localhost:3000/?name=jinss


[결과화면]



Client가 주소 문자열에 포함시켜 전달하는 요청 parameter를 web server에서 받아 확인할때는 복잡하지만, Express를 사용하면 매우 편하게 확인할 수 있습니다.






+ Recent posts