posts - 19,  comments - 11,  trackbacks - 0
如果希望http response 总是能压缩后传给客户端, 需要在服务端对客户的请求进行检测, 看是否有 accept-encoding = gzip 的头, 一般用浏览器做客户端,都回包含accept-encoding 的头, 是否压缩response 就由服务器自己决定, 但是如果是其他程序做客户端, 可能不包含accept-encoding 头, 所以在服务器端要进行检查

 1    protected void doPost(HttpServletRequest req, HttpServletResponse res)
 2            throws ServletException, IOException {
 3        
 4        if(!isAcceptCompression(req))
 5        error handle
 6        
 7        super.doPost(req, res);
 8    }

 9
10    private static String ACCEPT_COMPRESSION_HEADER = "accept-encoding";
11    private static String ACCEPT_COMPRESSION_GZIP = "gzip";
12    protected boolean isAcceptCompression(HttpServletRequest req)
13    {
14        java.util.Enumeration en = req.getHeaderNames();
15        while (en.hasMoreElements())
16        {
17            String headerName = (String)en.nextElement();
18            String headerValue = req.getHeader(headerName);
19            if(ACCEPT_COMPRESSION_HEADER.equalsIgnoreCase(headerName))
20            {
21                if((headerValue!= null&& ((headerValue.toLowerCase().indexOf(ACCEPT_COMPRESSION_GZIP) >=0)))
22                    return true;
23            }

24        }

25        return false;
26    }
posted on 2008-11-14 15:05 happyy2k 阅读(1010) 评论(0)  编辑  收藏 所属分类: JAVA

只有注册用户登录后才能发表评论。


网站导航:
 

<2008年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(2)

随笔分类(20)

随笔档案(12)

搜索

  •  

最新评论

阅读排行榜

评论排行榜