この投稿と同様に、3MBに圧縮される大きな30MBのJSONファイルをブラウザーに送信する必要があります。(はい、はい、解凍するのは大きくて集中的ですが、たとえば、REST APIへの150の個別のAJAX呼び出しよりも、静的ファイルとして一度提供する方が良いです。ここでは、少しの先行ロード時間で問題ありません)。
また、元の投稿と同様に、静的ファイルであるため、事前に圧縮することができます(したがって、サーバーはリクエストごとに圧縮する必要はありません)。さらに、Node.js/Express.jsで静的としてマークしたサーバー上のパブリックディレクトリからサービスを提供できます。
app.use(express.static(__dirname + "/public"));
あるコメント投稿者は次のように答えました。
「JSONを事前圧縮してから、常に再圧縮する必要がないように、適切なヘッダーを使用してファイルを提供するようにApacheに指示することもできます。」
質問1: Node / Expressでこれを行うにはどうすればよいですか?つまり、ブラウザにファイルがgzip形式であることをブラウザに通知して、ブラウザが自動的に解凍するように指示しますか?
別の回答は「...しかし、ブラウザが圧縮をサポートしていることを確認してください」と述べています。これにより、別の質問が発生しますか?
質問2:「ほとんどの」最新のブラウザにはコンテンツを解凍する機能がありますか?または、解凍用のjavascriptライブラリを含めて、Ajaxを介してバイナリテキストとしてデータを取得し、ブラウザのネイティブユーティリティではなく、常に自分のコードで解凍する方がよいでしょうか。
(私の目的では、一部の古いブラウザーを除外してもかまいません。たとえば、IE6を削除しても問題ありませんが、IE9のサポートを削除しても問題ありません)