Java:HttpResponse标头永远不会有“Content-Encoding”,但确实有“Vary:Accept-Encoding”

时间:2011-06-01 21:23:14

标签: java gzip httpclient httpresponse content-encoding

我正在使用以下示例: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”应该是什么?我错过了什么吗?

编辑:例如,在本网站(http://www.gidnetwork.com/tools/gzip-test.php)上查看www.yahoo.com时,它会输入正确的标题(内容编码一个) )。但是,当我通过Java代码引入该网站时,内容编码标头不会显示。那是为什么?

以下是我用来在Java中打印标题的代码:

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

1 个答案:

答案 0 :(得分:1)

您的服务器可能未配置为返回gzip'ped内容。

编辑:对http://apache.org/,代码按照描述工作。粘贴位于http://pastebin.com/Ajj4XBb1