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 をご覧ください。