2016-04-14 4 views
1

私は表示用に比較的大きなJSONデータセットを(XHR経由で)ダウンロードするクライアント専用のJavaScriptアプリケーションを作成しています。スペースと帯域幅を節約するために、これらのデータセットを事前にgzipしたいと考えています(mydata.json.gzなど)。ブラウザでXHR応答がgzipとして解釈されるようにします

残念ながら、私は、サーバーの設定を制御できませんし、それは私のContent-Type: application/x-gzip.json.gzファイルのヘッダーではなく、Content-Encoding: gzipContent-Type: application/jsonの正しいペアを送信します。このため、私のアプリケーションは、JSON.parse()に渡すことができるものではなく、生のgzippedデータを受け取ります。

私はいくつかの純粋なJavaScriptのGzip実装(例えばpako)を認識していますが、これはおそらく仕事を完了させるかもしれませんが、そうでなければ不要な45KBのライブラリですか?おそらく仕事が

使ったもの

のいずれかを行わなく、どのような方法があり得る可能性があり、私はいくつかの純粋なJavaScriptのGzipで実装(例えばPAKO)を意識してい

+0

Content-Encoding以降:gzipはHTTPプロトコルレベルの設定です。ブラウザがストリームを解凍するAPIを公開していないと思う。私はあなたのサーバーでhttp応答ヘッダーを変更する制限があることを知っています。しかし、最良の方法は、右のHTTPレスポンスヘッダーを設定することですが、あなたのサーバーです。 –

答えて

1

そうでなければ不要な45KBのライブラリを必要としない私のためにそれを解読するためにブラウザを騙すために?

サーバが言っている号

「ここでは、gzipファイルである」としない「ここGZIPエンコーディングを使用して送信されているJSONファイルです」。

ブラウザに透過的にデコードするようにHTTP応答ヘッダーを変更する必要があります。

+0

私はそれほど疑われましたが、とにかく質問する価値があるかもしれないと考えました。ありがとう! – timothyb89

関連する問題