compress
기본적으로 Next.js는 next start
또는 커스텀 서버를 사용할 때 렌더링된 콘텐츠와 정적 파일을 압축하기 위해 gzip
을 사용합니다. 이는 압축이 구성되지 않은 애플리케이션에 대한 최적화입니다. 애플리케이션에서 커스텀 서버를 통해 압축이 이미 구성된 경우, Next.js는 압축을 추가하지 않습니다.
Good to know:
- 애플리케이션을 Vercel (opens in a new tab)에 호스팅하는 경우, 압축은 먼저
brotli
를 사용하고, 그 다음에gzip
을 사용합니다.- 응답의
Accept-Encoding
(opens in a new tab) (브라우저가 수락하는 옵션) 및Content-Encoding
(opens in a new tab) (현재 사용 중인) 헤더를 확인하여 압축이 활성화되었는지와 어떤 알고리즘이 사용되고 있는지 확인할 수 있습니다.
압축 비활성화
압축을 비활성화하려면 compress
구성 옵션을 false
로 설정합니다:
next.config.js
module.exports = {
compress: false,
}
서버에서 압축이 구성되지 않은 경우, 압축을 비활성화하지 않는 것을 권장합니다. 압축은 대역폭 사용을 줄이고 애플리케이션의 성능을 향상시킵니다.
압축 알고리즘 변경
압축 알고리즘을 변경하려면 커스텀 서버를 구성하고 next.config.js
파일에서 compress
옵션을 false
로 설정해야 합니다.
예를 들어, nginx (opens in a new tab)를 사용하고 brotli
로 전환하려는 경우, compress
옵션을 false
로 설정하여 nginx가 압축을 처리하도록 합니다.
Good to know:
- Vercel에 있는 Next.js 애플리케이션의 경우, 압축은 Next.js가 아닌 Vercel의 엣지 네트워크에 의해 처리됩니다. 자세한 내용은 Vercel 문서 (opens in a new tab)를 참조하세요.