미들웨어 함수는 요청 객체, 응답 객체 그리고 애플리케이션의 요청-응답 주기에 다음 함수에 접근할 수 있는 함수
→ 요청과 응답의 중간에서 목적에 맞는 특정 기능을 하는 함수이다.
요청 본문 구문을 해석해서 req.body 속성으로 사용하게 해 주는 미들웨어
설치 → npm install body-parser
클라이언트로 전달 받은 데이터의 유형은 크게 json, raw, text, urlencode이고, body-parser는 이 각각의 데이터를 처리하는 함수를 제공
클라이언트로 받는 데이터 중 multi-part(이미지, 파일)는 처리하지 못함
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
// json 데이터 파싱을 위한 body-parser
var jsonParser = bodyParser.json()
// urlencoded 데이터 파싱을 위한 body-parser
var urlencodedParser = bodyParser.urlencoded({ extended: false })
// 클라이언트로 부터 POST 방식으로 요청된 /login 라우터의 데이터는
//urlencodedParser를 사용하는 것으로 정의
app.post('/login', urlencodedParser, function (req, res) {
res.send('welcome, ' + req.body.username)
})
// 클라이언트로 부터 POST 방식으로 요청된 /api/users 라우터의
//데이터는 jsonParser를 사용하는 것으로 정의
app.post('/api/users', jsonParser, function (req, res) {
// req.body 에서 사용자 정보 획득
})
주어진 옵션을 사용해서 서버에서 클라이언트로 응답하는 응답 본문을 압축
설치 → npm install compression
익스프레스 최상위에서 use( )함수를 사용하여 compression을 정의하는 경우 응답하는 모든 데이터가 압축되어 데이터의 크기는 줄어들지만 경우에 따라 응답속도가 느려질 수 있어 필요한 경우(이미지 및 파일 데이터 응답)에만 사용하는 것이 좋음
var compression = require('compression')
var express = require('express')
var app = express()
app.use('/api/getMap', compression())
해당 모듈은 쿠키 내에 클라이언트의 세션 데이터를 저장하는 모듈