2012-03-10 19 views
0

私のシステムでは非常に大量のユーザhttp postとhttpレスポンスが必要になります。おそらく数百万のリクエスト/レスポンスが必要です私はJavaスクリプトでデータを圧縮し、サーバー側(.netまたはjavaサーブレット)で解凍し、サーバー上で圧縮して解凍する方法を見つける必要があります。 javascriptで。htmlからサーバへのテキストの圧縮と解凍

このようなバイトを保存するのは馬鹿だと思われますが、最悪の場合に備えたいと思います。

ちょうどあなたが何を考えて投稿し、

おかげ

エド

+0

このシナリオのユースケースとは何ですか? –

答えて

1

JavaScriptについては、が見つかりました。 それとも、このようにバイトストリームのすべてのUnicode文字を置き換えることにより、独自のメソッドを実装することができます:

あなたのメッセージ:
AABCCC
Unicodeのバイト数:0×00を残すことによって圧縮さ
0x41 0x00 0x41 0x00 0x42 0x00 0x43 0x00 0x43 0x00 0x43 0x00

0x41 0x41 0x42 0x43 0x43 0x43
除外することによって、さらにはダブルス:
2 0x41 1 0x42 3 0x43

今のところ非常に印象的ではありませんが、この圧縮で利益を得ることができるリクエストが1つまたは2つあります。アルゴリズムが非常に有効で十分であることは本当に重要ですが。あなたは何百万というリクエストを話しているからです。 1つの大きな要求がこの圧縮から利益を得ることができますが、多くの小さな要求は非常に非効率的です。

申し訳ありません申し訳ありませんが、完全な解決策をご提供することはできませんが、多少近づくことがあります。

1

をご利用の場合のために十分ではないzlib圧縮のサーバーレベルの実装であるのは、私たちの考えを共有しましょうか?それは、圧縮を動作させる最も単純で信頼できる方法です。すべての最も一般的なWebサーバとブラウザは、箱から出してzlib圧縮をサポートしています。

1

主要なWebサーバー、アプリケーションサーバー、およびブラウザでサポートされているHTTP圧縮を使用できます。あなたがそれを行う一方で、IEは歴史的にその地域で非常にバグがあったことに注意してください、それはIEの複数のバージョンで動作することを確認してください。 Apacheの 、あなたはmod_deflateを使用することができます。桟橋& TomcatはGZIPフィルタの独自のバージョンを持っています。 はJavascriptに圧縮/解凍することは面倒になります。私は、JSであなたを助けることができるライブラリを知っていません。

1

パフォーマンス質問は試してみて、任意の合理的な答えを得るために測定する必要が。

あなたのケースでは、生のメッセージを注意深く見て、どこにバイトがあるのか​​を見てみましょう。小さなデータパケットの場合、ほとんどのバイトがヘッダーになるので、コンテンツを圧縮すると利点はありません。それはあなたのシステムです - あなたの要求を見て、パケットのサイズを減らすことができる場所を見てください。

リクエストでユーザーの認証を送信する必要があることが多いので、リクエストには固定サイズ(通常は非圧縮のチャンク)が含まれます。

関連する問題