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のドキュメントをご覧ください。
役に立ちましたか?