2009-06-29 9 views
0

EARfileに含まれる事前圧縮ファイルを送信することはできますか?具体的には、WARファイル内のjspファイルとjsファイルです。私はApache HTTPをWebサーバーとして使用していますが、deflateモジュールをオンにしてファイルの事前圧縮バージョンを使用するように設定するのは簡単ですが、これをEARファイルに含まれるファイルに適用したいJBossにデプロイされます。その理由は、コンテンツが非常に静的であり、そのたびに圧縮することは、CPU時間の点でかなり高価なためです。HTTP圧縮 - EARファイルに存在する圧縮されたファイルを送信する方法?

まあまあ、JBossがこれらのEARファイルをどのように配備し、それらを提供しているのかよく分かりません。私がしたいことの要点は、戦争の中に含まれているファイルをあらかじめ圧縮しておき、要求されたときにContent-Encodingのためにgzipでクライアントに返送されるようにすることです。

答えて

0

私は頻繁にこのサイトを頻繁に使用することはありませんが、私はこのスレッドをぶら下げたままにしているようです。申し訳ありません。私はjavascriptとcssファイルを圧縮するのに成功しました。私がしたのは、gzipを使ってantをビルドするプロセスでそれらをあらかじめ圧縮していたということでした。私はgzip拡張子を取り除くために名前を偽装しなければならなかった。だから私はfoo.jsを持っていて、それをfoo.js.gzipに圧縮しました。このfoo.js.gzipの名前をfoo.jsに変更しました。これはWARファイルにパッケージ化されたファイルです。これは、プリコンパクション部分を処理します。このファイルが正しく機能するようにするには、http応答のコンテンツエンコーディングヘッダーを使用して、このファイルが圧縮されていることをブラウザに伝えるだけです。これは、* .js拡張子(いくつかのJava/JBoss、WEB-INF/web.xmlが役立つ場合はそれに対応するファイルに適用される出力フィルタを介して行われました。

0

理論上は、EARにそれらを圧縮する前に圧縮することができ、圧縮されているクライアントに応答するhttpヘッダーをレスポンスに追加するカスタムコントローラで配信することができます行こうとする努力の

オンザフライでの圧縮にはかなりのコストがかかりますが、実際に測定したことがありますか?多数の非圧縮ページを要求し、CPU使用量を測定した後、圧縮ページで再度結び付けましたか?私はあなたがその影響を過大評価しているかもしれないと思います。 CPUリソースをほとんど使わないように設計された、非常に低い強度のストリーム圧縮を使用します。

このような長さになる前に実際のパフォーマンスの問題が発生している可能性を十分に認識する必要があります。

+1

私は、トラフィックが多いと言われており、毎回同じファイルを圧縮する必要はないようです。私は事前圧縮されたコンテンツを提供する単純な方法があると思っていましたが、あなたが述べたように、私は圧縮の影響を測定し、応答ヘッダーを変更する際の困難を調査します。 「費用がかかる」という言葉の使用についてお詫び申し上げますが、「非効率的/無駄」という言葉は私の気質をよりよく説明するでしょう。 – ipwnponies

関連する問題