이름처럼 요청에 대한 응답 과정 중간에 껴서 어떠한 동작을 해주는 프로그램입니다. 익스프레스는 요청이 들어올 때 그에 따른 응답을 보내주는데요. 응답을 보내기 전에 미들웨어가 지정한 동작을 수행합니다.
기본적으로 주어지는 Built-in middleware 외에 추가로 설치하여 사용해야하는 미들웨어를 Third-party middleware라고 한다.
- 폼에서 전송되는 POST 값을 사용 할 수 있게 해준다.
사용 방법
1. body-parser를 설치합니다.
npm install body-parser
2. 모듈을 불러오고, express에 붙여 사용합니다.
var express = require('express')
var bodyParser = require('body-parser')
var app = express();
app.use(bodyParser.urlencoded({ extended: false })); //post방식 사용
app.post('/profile', function(req, res) => {
console.log(req.body)
})
request 객체의 body property로 접근해서 post로 전송받은 데이터를 가져올 수 있게 됨.
웹 페이지의 데이터 크기가 어마어마하게 클 경우 웹 브라우저에서 이 페이지를 열 때 필요로 하는 용량이 굉장히 클 것이다.
이때, 페이지를 압축하기 위한 미들웨어가 'compression'
웹서버가 웹브라우저에게 응답할 때 그 데이터를 압축하는 것.
데이터를 전송할 때 압축된 데이터가 전송되기 때문에 데이터의 양을 획기적으로 줄일 수 있다.
다만, 압축을 하고 압축을 푸는 과정이 존재하지만 그럼에도 불구하고 압축을 하고 푸는것이 대체로 네트워크의 전송 비용보다 싸고 빠르기 때문에 이 방식을 많이 사용한다.
사용 방법
1. compression 설치
npm install compression --save
2. 모듈을 불러오고, express에 붙여 사용합니다
compression 사용 전
compression 사용 후
gzip 방식으로 압축된 것을 확인 할 수 있다.
이 컨텐츠는 gzip이라는 방식으로 압축되었다하고 압축된 데이터를 보냄.
우리의 웹 브라우저는 그 데이터를 gzip 방식으로 해제해서 그것을 사용하게 됨.
출처
https://bekusib.tistory.com/87
https://www.zerocho.com/category/NodeJS/post/578b5a36d8316615006bee0f
https://opentutorials.org/course/3370/21397