๊ฐ์ ํ์ผ๋ ์์ถ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ ํฌ๊ธฐ๊ฐ ๋ค๋ฆ ๋๋ค
์น ์๋ฒ์์ ์๋ต์ ์ ์กํ ๋ gzip, Brotli, zstd๋ ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ ์์ถ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ์ ๋ค ๋ฐ์ดํฐ์ ์ค๋ณต ํจํด์ ์ฐพ์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ์๋ฆฌ๋ ๊ฐ์ง๋ง, ์์ถ๋ฅ ๊ณผ ์์ถ ์๋์ ๊ท ํ์ ์ด ๋ค๋ฆ ๋๋ค. Brotli๋ ์ ์ ํ ์คํธ ์์(HTML, CSS, JS)์์ ๊ฐ์ฅ ๋์ ์์ถ๋ฅ ์ ๋ณด์ฌ์ฃผ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ณ , zstd๋ ์์ถยทํด์ ์๋๊ฐ ๋นจ๋ผ ์ค์๊ฐ ์ฒ๋ฆฌ๊ฐ ์ค์ํ ์ํฉ์ ์ ๋ฆฌํฉ๋๋ค. gzip์ ์ค๋๋์์ง๋ง ๊ฑฐ์ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์ ์๋ฒ์์ ํธํ๋๋ ์์ ํ ์ ํ์ ๋๋ค.
์ด ๊ณ์ฐ๊ธฐ๋ ์๋ณธ ํ์ผ ํฌ๊ธฐ์ ์ฝํ ์ธ ์ ํ(ํ ์คํธ, JSON, ์ด๋ฏธ ์์ถ๋ ๋ฏธ๋์ด)์ ์ ๋ ฅ๋ฐ์ ์ธ ๋ฐฉ์์ ์์ ์์ถ ํ ํฌ๊ธฐ์ ์ ๊ฐ๋ฅ ์ ๋น๊ตํด์ค๋๋ค. ํนํ JPEG๋ MP4์ฒ๋ผ ์ด๋ฏธ ์์ถ๋ ๋ฏธ๋์ด ํ์ผ์ ์ถ๊ฐ ์์ถ ํจ๊ณผ๊ฐ ๊ฑฐ์ ์๋ค๋ ์ ๋ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ฐ ํ์ผ์ ์์ถ์ ์ ์ฉํ๋ฉด CPU ์์๋ง ๋ญ๋นํ๊ณ ์ฉ๋์ ๊ฑฐ์ ์ค์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
์ค๋ฌด์์๋ ์ ์ ํ ์คํธ ์์์๋ Brotli๋ฅผ, ์ค์๊ฐ API ์๋ต์ฒ๋ผ ์์ถ ์๋๊ฐ ์ค์ํ ๊ฒฝ์ฐ์๋ zstd๋ gzip์ ์ ํํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค. CDN์ด๋ ์๋ฒ ์ค์ ์์ ์ฌ๋ฌ ์๊ณ ๋ฆฌ์ฆ์ ๋์์ ์ง์ํ๋๋ก ๊ตฌ์ฑํ๋ฉด, ๋ธ๋ผ์ฐ์ ๊ฐ ์ง์ํ๋ ์ต์ ์ ๋ฐฉ์์ ์๋์ผ๋ก ํ์(Content-Encoding negotiation)ํ๊ฒ ํ ์ ์์ต๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
JPEG, PNG, MP4์ฒ๋ผ ์ด๋ฏธ ์์ฒด ์์ถ์ ๊ฑฐ์น ํ์ผ์ gzipยทBrotliยทzstd๋ฅผ ์ถ๊ฐ๋ก ์ ์ฉํด๋ ์ฉ๋์ด ๊ฑฐ์ ์ค์ง ์์ต๋๋ค.
์ ์ ํ ์คํธ ์์์ Brotli๊ฐ ๋์ฒด๋ก ๋ ๋์ ์์ถ๋ฅ ์ ๋ณด์ด๋ฉฐ, ๊ตฌํ ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ด ์ค์ํ๋ค๋ฉด gzip์ ํจ๊ป ์ง์ํ๋ ๊ฒ์ด ์์ ํฉ๋๋ค.
์์ถยทํด์ ์๋๊ฐ ๋นจ๋ผ ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ์ด๋ ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ฒ๋ผ ์๋๊ฐ ์ค์ํ ์ํฉ์ ์ ํฉํฉ๋๋ค.