圧縮
デフォルトでは、Next.jsはnext start
またはカスタムサーバーを使用する際に、gzip
を使用してレンダリングされたコンテンツと静的ファイルを圧縮します。これは、圧縮が設定されていないアプリケーションに対する最適化です。アプリケーション内でカスタムサーバーを介して圧縮が_すでに_設定されている場合、Next.jsは圧縮を追加しません。
補足:
- Vercelでアプリケーションをホストする場合、圧縮は最初に
brotli
、次にgzip
を使用します。Accept-Encoding
(ブラウザが受け入れるオプション)と[Content-Encoding
](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding)(現在使用中)ヘッダーを確認することで、圧縮が有効かどうか、どのアルゴリズムが使用されているかを確認できます。
圧縮の無効化
圧縮を無効にするには、compress
設定オプションをfalse
に設定します:
サーバーで圧縮が設定されていない限り、圧縮を無効にすることはお勧めできません。圧縮は帯域幅の使用量を削減し、アプリケーションのパフォーマンスを向上させるためです。
圧縮アルゴリズムの変更
圧縮アルゴリズムを変更するには、カスタムサーバーを設定し、next.config.js
ファイルでcompress
オプションをfalse
に設定する必要があります。
例えば、nginxを使用していてbrotli
に切り替えたい場合は、compress
オプションをfalse
に設定して、ngixに圧縮を処理させます。
補足:
- VercelのNext.jsアプリケーションの場合、圧縮はNext.jsではなく、VercelのEdgeネットワークによって処理されます。詳細については、Vercelドキュメントを参照してください。