더북(TheBook)

6.4 req, res 객체 살펴보기

익스프레스의 req, res 객체는 http 모듈의 req, res 객체를 확장한 것입니다. 기존 http 모듈의 메서드도 사용할 수 있고, 익스프레스가 추가한 메서드나 속성을 사용할 수도 있습니다. 예를 들어 res.writeHead, res.write, res.end 메서드를 그대로 사용할 수 있으면서 res.sendres.sendFile 같은 메서드도 쓸 수 있습니다. 다만, 익스프레스의 메서드가 워낙 편리하므로 기존 http 모듈의 메서드는 잘 쓰이지 않습니다.

익스프레스가 많은 속성과 메서드를 추가했지만, 여기서는 자주 쓰이는 것 위주로만 알아보겠습니다. req 객체부터 살펴봅니다.

req.app: req 객체를 통해 app 객체에 접근할 수 있습니다. req.app.get('port')와 같은 식으로 사용할 수 있습니다.

req.body: body-parser 미들웨어가 만드는 요청의 본문을 해석한 객체입니다.

req.cookies: cookie-parser 미들웨어가 만드는 요청의 쿠키를 해석한 객체입니다.

req.ip: 요청의 ip 주소가 담겨 있습니다.

req.params: 라우트 매개변수에 대한 정보가 담긴 객체입니다.

req.query: 쿼리스트링에 대한 정보가 담긴 객체입니다.

req.signedCookies: 서명된 쿠키들은 req.cookies 대신 여기에 담겨 있습니다.

req.get(헤더 이름): 헤더의 값을 가져오고 싶을 때 사용하는 메서드입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.