コンテンツにスキップ

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 ドキュメント を参照してください。