[NodeJS] Gzip으로 사이트 최적화하기

Shim.SeongHo·2023년 11월 30일

[NodeJS]

목록 보기
1/1
post-thumbnail

Compression 적용

압축된 콘텐츠를 전송하는 방법

  • Request Header에 Accept-Encoding: gzip, deflate 가 헤더에 담겨있다면 해당 브라우저는 압축된 콘텐츠를 허용한다는 의미이다.
    • Accept-Encoding 헤더의 값은 클라이언트가 지원하는 인코딩 방식을 나타낸다.
    • 우선순위에 따라서 콤마로 구분한다.
  • 만약 서버에서 보낸 콘텐츠가 압축되어 있다면 Response Header에 Content-Encoding: gzip 응답이 담겨있을 것이다.

적용방법

  1. compression 설치
pnpm install compression
  1. compression 적용
const compression = require('compression')
app.use(compression())
  1. 적용 전
    1. 크기 28.7kb, 시간 126ms

  1. 적용 후
    1. 크기 2.7kb, 시간 115ms

gzip 방식으로 압축되어 있는걸 확인할 수 있다.

웹 브라우저는 이 데이터를 gzip 방식으로 압축을 해제하여 사용한다.

profile
알아가는 재미

0개의 댓글