3

合計 2 MB のスペースを持つ組み込み Web サーバーがあります。通常、クライアントの利益のためにファイルを gzip しますが、これによりサーバー上のスペースを節約できます。jsファイルをgzipしてサーバーに保存できることを読みました。私は IIS でそれをテストしましたが、まったく運がありませんでした。これを機能させるには、プロセスのすべてのステップで正確に何をする必要がありますか?

これは、次のようになると想像しています。

  1. gzip foo.js
  2. html のリンクを変更して、.js だけでなく foo.js.gz を指すようにします
  3. ある種のヘッダーを応答に追加しますか?

助けてくれてありがとう。

-fREW

EDIT:私のウェブサーバーはその場で何もできません。Apache や IIS ではありません。これは、ZiLog プロセッサ上のバイナリです。ストリームを圧縮できることは知っています。ファイルを一度圧縮して圧縮したままにすることもできると聞きました。

4

3 に答える 3

5

他の人が言及しているように、mod_deflate はそれを行いますが、組み込み環境であるため、手動で行う必要があると思います。

まず、gzip した後、ファイル foo.js の名前を残す必要があります。

html ファイルは何も変更しないでください。ファイルはまだ foo.js であるため

(gzip された) foo.js の応答ヘッダーで、ヘッダーを送信します

Content-Encoding: gzip

これでうまくいくはずです。クライアントは foo.js を要求し、Content-Encoding: gzip に続いて gzip されたファイルを受け取ります。これは解析前に自動的に unzip されます。

もちろん、これはクライアントが gzip エンコーディングを理解していることを前提としています。不明な場合は、要求ヘッダーに含まれている場合にのみ gzip 圧縮されたデータを送信する必要があります。

Accept-Encoding: gzip
于 2008-10-17T15:37:57.213 に答える
1

通常、Web サーバーで gzip 圧縮を使用することは、そこからの出力を圧縮して帯域幅を節約することを意味します。

この説明 または この例を見てください

于 2008-10-17T14:33:29.637 に答える
1

Apache を使用している場合は、mod_deflateを使用すると、その場で圧縮されます。

何かをgzipした場合、それはファイルでなければならないと考えて混乱していると思います。代わりに、ファイルが単なるデータのストリームであり、そのデータのストリームがここで圧縮され、送信され、クライアントが考える必要なしに圧縮解除されることを考えてみてください。

于 2008-10-17T15:06:03.440 に答える