0

次の例を使用しています: http://www.devdaily.com/java/jwarehouse/commons-httpclient-4.0.3/httpclient/src/examples/org/apache/http/examples/client/ClientGZipContentCompression.java。 shtml

ヘッダーに「Accept-Encoding: gzip」を追加すると、gxip エンコーディングを受信できることをサーバーに伝えることが期待されますが、そのようには機能していないようです。代わりに、サーバーは「Vary: Accept-Encoding」のみで応答します。長い間グーグルで調べた後、「Vary: Accept-Encoding」が何を意味するのかさえ本当にわかりませんでした。サーバーが本来あるべき「Content-Encoding: gzip」で応答しないのはなぜですか? 何か不足していますか?

編集: たとえば、この Web サイト (http://www.gidnetwork.com/tools/gzip-test.php) で www.yahoo.com をチェックすると、正しいヘッダー (コンテンツをエンコードするヘッダー) が取り込まれます。ただし、Java コードを介してその Web サイトを取得すると、コンテンツ エンコード ヘッダーが表示されません。何故ですか?

Javaでヘッダーを印刷するために使用しているコードは次のとおりです。

        Header[] h = response.getAllHeaders();
        for (int x = 0; x < h.length; x++)
            System.out.println(h[x]);
4

1 に答える 1

1

お使いのサーバーは、gzip で圧縮されたコンテンツを返すように構成されていない可能性があります。

編集: http://apache.org/に対して、コードは説明どおりに機能します。ペーストはhttp://pastebin.com/Ajj4XBb1にあります

于 2011-06-01T21:43:06.283 に答える