ํฐ์คํ ๋ฆฌ ๋ทฐ
๐๏ธ NestJS Compression – ์๋ต ์๋ ํฅ์์ ์ํ ์์ถ ์ ๋ต ์๋ฒฝ ๊ฐ์ด๋
octo54 2025. 6. 13. 14:40๐๏ธ NestJS Compression – ์๋ต ์๋ ํฅ์์ ์ํ ์์ถ ์ ๋ต ์๋ฒฝ ๊ฐ์ด๋
์น ์๋น์ค์ ์๋ต ์๋๋ ์ฌ์ฉ์ ๊ฒฝํ๊ณผ SEO์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
NestJS๋ compression ๋ฏธ๋ค์จ์ด๋ฅผ ํตํด ๋ชจ๋ HTTP ์๋ต์ gzip, deflate ๋ฑ์ผ๋ก ์์ถํ์ฌ ์ ์กํ ์ ์์ต๋๋ค.
์ด๋ฒ ๊ธ์ NestJS ๊ณต์ ๋ฌธ์ Compression์ ๊ธฐ๋ฐ์ผ๋ก
gzip ์์ถ ์ค์ , ์กฐ๊ฑด๋ถ ์์ถ ์ฒ๋ฆฌ, ์ค๋ฌด ์ ์ฉ ์ ๋ต๊น์ง ์์ ์ ๋ณตํด๋ณด๊ฒ ์ต๋๋ค.
โ 1. compression ๋ฏธ๋ค์จ์ด ์ค์น
npm install compression
โ 2. ์ ์ญ ์์ถ ์ค์ (main.ts)
// main.ts
import * as compression from 'compression';
const app = await NestFactory.create(AppModule);
app.use(compression());
await app.listen(3000);
โ๏ธ ์ค์ ํ ๋ชจ๋ HTTP ์๋ต์ด ์์ถ๋์ด ํด๋ผ์ด์ธํธ๋ก ์ ์ก๋ฉ๋๋ค.
โ๏ธ ํด๋ผ์ด์ธํธ๊ฐ Accept-Encoding: gzip ํค๋๋ฅผ ๋ณด๋ด์ผ ์ ์ฉ๋ฉ๋๋ค.
โ 3. ์์ถ ์ต์ ์กฐ์
app.use(
compression({
level: 6, // ์์ถ ์์ค (0~9)
threshold: 1024, // ์ต์ ํฌ๊ธฐ ์ด์์ผ ๋๋ง ์์ถ (1KB)
filter: (req, res) => {
if (req.headers['x-no-compress']) {
return false; // ์กฐ๊ฑด์ ๋ฐ๋ผ ์์ถ ๋นํ์ฑํ
}
return compression.filter(req, res);
},
}),
);
์ฃผ์ ์ต์ ์ ๋ฆฌ
์ต์ ์ค๋ช
level | ์์ถ ๋ ๋ฒจ (0=๋ฌด์์ถ ~ 9=์ต๋์์ถ) |
threshold | ์ง์ ๋ ํฌ๊ธฐ ์ด์์์๋ง ์์ถ ์ํ |
filter | ์์ฒญ๋ณ ์์ถ ์ฌ๋ถ๋ฅผ ์กฐ๊ฑด๋ถ๋ก ์ค์ ๊ฐ๋ฅ |
โ 4. ์ ์ฉ ํ์ธ ๋ฐฉ๋ฒ
- ํด๋ผ์ด์ธํธ์์ ์์ฒญ ์ Accept-Encoding: gzip ํค๋ ํฌํจ
- ์๋ต ํค๋์ Content-Encoding: gzip ํ์ธ
- ๋ธ๋ผ์ฐ์ DevTools > Network > Size ํญ์์ ํ์ธ ๊ฐ๋ฅ
โ 5. ์ค๋ฌด ์ ์ฉ ํ
- ์ ์ ๋ฆฌ์์ค๋ ์น ์๋ฒ(Nginx ๋ฑ) ๋๋ CDN ์์ถ์ด ๋ ํจ์จ์
- JSON ์๋ต, HTML, ํ ์คํธ ๋ฆฌ์์ค์ ๊ฐ์ฅ ํฐ ์์ถ ํจ๊ณผ
- SSR ํ๊ฒฝ์์ ์์ถ์ TTFB ์ํฅ์ ์ค ์ ์์ผ๋ ๋ ๋ฒจ์ ์กฐ์ ํด์ผ ํจ
๐ง ์ฑ๋ฅ ๋น๊ต ์์
์๋ต ๋ฐ์ดํฐ ์์ถ ์ (ํฌ๊ธฐ) ์์ถ ํ (gzip) ์ ๊ฐ์จ
100KB JSON | 100KB | 18KB | -82% |
HTML ํ ์คํธ | 50KB | 9KB | -82% |
์ด๋ฏธ์ง(PNG) | 200KB | 200KB (๋ณํ ์์) | 0% |
โ๏ธ ์ด๋ฏธ์ง, ๋น๋์ค ๋ฑ์ ์ด๋ฏธ ์์ถ๋ ํฌ๋งท์ด๋ผ ๋ค์ ์์ถํด๋ ํจ๊ณผ ์์
NestJS Compression,NestJS ์๋ต ์์ถ,NestJS gzip ์ค์ ,NestJS ์ฑ๋ฅ ์ต์ ํ,NestJS compression ๋ฏธ๋ค์จ์ด,NestJS ์๋ต์๋ ๊ฐ์ ,NestJS HTTP ์์ถ,NestJS ๋ธ๋ผ์ฐ์ ์์ถ ์ ์ฉ,NestJS threshold ์ค์ ,NestJS ์ค๋ฌด ์์ถ ์ ๋ต
'framework > NestJS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
- Total
- Today
- Yesterday
- AI์ฑ๋ด
- kotlin
- gatsbyjs
- ๋ฐฑ์๋๊ฐ๋ฐ
- Next.js
- llm
- Python
- App Router
- ํ๋ก ํธ์๋๋ฉด์
- ๊ฐ๋ฐ๋ธ๋ก๊ทธ
- nextJS
- nodejs
- Docker
- ์น๊ฐ๋ฐ
- SEO์ต์ ํ
- ํ๋ก ํธ์๋
- rag
- REACT
- ํ์ด์ฌ์๊ณ ๋ฆฌ์ฆ
- fastapi
- seo ์ต์ ํ 10๊ฐ
- Prisma
- PostgreSQL
- NestJS
- flax
- JAX
- CI/CD
- Ktor
- SEO ์ต์ ํ
- ๋ฅ๋ฌ๋
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |