JavaME关于HttpConnection返回为gzip时的疑惑

今天在公司调了一下午这个问题,百思不得其解,详细描述一下先吧。

程序是这样的,手机端(JavaME程序)发给服务端(apache+tomcat)一个请求,然后服务端会将结果按照规定的协议(HTTP+XML)返回给手机端。为了让传输的数据量小,Http的body部分(也就是XML)要进行压缩。

由于服务端采用的是apache+tomcat的结构,所以http的body部分的压缩就交给apache了。JavaME手机端程序,自然是采用HttpConnection发出Http的请求,在Http请求Header里也加上了Accept-Encoding:gzip,deflate。进模拟器进行测试,debug到屏幕上服务端返回的Content-Length,嘿嘿,和apache访问日志里一样,基本在1k左右,很好~很好~~~

手机拿来,开始测试,Sony-Ericsson的一款机器,日志又出来了,这次一看,不对,比服务端的显示,Content-Length大了10倍。换了一个Nokia的手机,还是这样的。经过反复测试,在手机端日志上看,确信,这个Content-Length应该是服务端body压缩前的大小。看apache的日志,发出的还是1k左右,但是JavaMe的HttpConnention拿到的HttpHeader里的Content-Length就是解压的大小。。。

模拟器正常,真机不正常。。

不知道为什么,不知道,不知道。。。。

哪位高人研究过???能否告诉我一下?谢谢先~~

相关推荐