[Node js]Express 미들웨어 사용 : body-paresr, compression

백엔드·2020년 8월 24일

Node.js

목록 보기
1/3

middleware란 무엇인가?

이름처럼 요청에 대한 응답 과정 중간에 껴서 어떠한 동작을 해주는 프로그램입니다. 익스프레스는 요청이 들어올 때 그에 따른 응답을 보내주는데요. 응답을 보내기 전에 미들웨어가 지정한 동작을 수행합니다.

Third-party middleware 란?

기본적으로 주어지는 Built-in middleware 외에 추가로 설치하여 사용해야하는 미들웨어를 Third-party middleware라고 한다.

1. Express의 Third-party middleware - body-parser

- 폼에서 전송되는 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로 전송받은 데이터를 가져올 수 있게 됨.

2. Express의 Third-party middleware - compression

  • 웹 페이지의 데이터 크기가 어마어마하게 클 경우 웹 브라우저에서 이 페이지를 열 때 필요로 하는 용량이 굉장히 클 것이다.

  • 이때, 페이지를 압축하기 위한 미들웨어가 '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

profile
백엔드 개발자

0개의 댓글