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のエッジネットワークによって処理されます。詳しくは、Vercelのドキュメントをご覧ください。
この情報は役に立ちましたか?