compress
default では、next start
の使用時やカスタムの server を使用する際に、Next.js はgzip
を使用してレンダリングされたコンテンツや静的ファイルを compress します。これは、圧縮が設定されていないアプリケーションの最適化です。もし、カスタムの server を介してアプリケーションですでに圧縮が設定されている場合、Next.js は圧縮を追加しません。
Good to know:
- あなたのアプリケーションをVercel でホスティングする際、圧縮はまず
brotli
を使用し、次にgzip
を使用します。Accept-Encoding
(ブラウザが許可する options)と、Content-Encoding
(現在使用中)の headers を見て、圧縮が有効かどうか、またどの algorithm が使用されているかを確認できます。response にこれらがあります。
Disabling compression
圧縮を無効にするには、compress
config オプションを false
に設定します:
next.config.js
module.exports = {
compress: false,
}
圧縮を無効にすることはお勧めしません、あなたの server で圧縮が設定されていない場合を除きます。なぜなら、圧縮は帯域幅の使用を減らし、アプリケーションのパフォーマンスを向上させるからです。
Changing the compression algorithm
あなたの圧縮 algorithm を変更するには、カスタム server を設定し、next.config.js
ファイルにおいて compress
オプションを false
に設定する必要があります。
例えば、あなたがnginx を使っていて、brotli
に切り替えたい場合、nginx が圧縮を処理できるようにcompress
オプションをfalse
に設定します。
Good to know:
- Vercel 上の Next.js アプリケーションでは、圧縮は Vercel の Edge ネットワークによって処理され、Next.js ではありません。詳細はVercel documentation をご覧ください。