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