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 ドキュメンテーション を参照してください。
これは役に立ちましたか?