メインコンテンツまでスキップ

compress

デフォルトでは、Next.js は next start またはカスタムサーバーを使用しているときに、レンダリングされたコンテンツと静的ファイルを圧縮するために gzip を使用します。これは圧縮が構成されていないアプリケーションに対する最適化です。アプリケーションでカスタムサーバーを通じて圧縮がすでに構成されている場合、Next.js は圧縮を追加しません。

Good to know:

  • Vercel にアプリケーションをホスティングしている場合、圧縮はまず brotli を使用し、それから gzip を使用します。
  • 圧縮が有効かどうか、どのアルゴリズムが使用されているかを確認するには、レスポンス内の Accept-Encoding(ブラウザーが受け入れるオプション)と Content-Encoding(現在使用されている)ヘッダーを参照してください。

圧縮の無効化

圧縮 を無効にするには、compress 設定オプションを false に設定します:

next.config.js
module.exports = {
compress: false,
}

圧縮は帯域使用量を削減し、アプリケーションのパフォーマンスを向上させるため、サーバー上で圧縮を構成していない限り、圧縮の無効化は推奨しません。

圧縮アルゴリズムの変更

圧縮アルゴリズムを変更するには、カスタムサーバーを構成し、next.config.js ファイルで compress オプションを false に設定する必要があります。

例えば、nginx を使用して brotli に切り替えたい場合、compress オプションを false に設定して、nginx に圧縮を処理させます。

Good to know:

  • Vercel 上の Next.js アプリケーションでは、圧縮は Next.js ではなく、Vercel の Edge Network によって処理されます。詳細については Vercel ドキュメント を参照してください。