虽然客户端(浏览器)获取内容类型为gzip,但Tomcat压缩功能并未改善数据传输时间

时间:2013-09-25 10:57:44

标签: java tomcat compression

使用tomcat的数据压缩功能,我发现数据(json结果)已被压缩,但是从服务器到客户端获取数据所花费的时间没有改善。

客户端:borwser

服务器 - 嵌入式tomcat。

带有REST api的Spring MVC框架用于为所有客户端请求提供服务。 Jackson用于将java对象转换为json格式。

例如: - 没有压缩功能      json结果大小= 18 MB,从服务器到客户端获取数据所需的时间是14秒

未使用压缩时的Chrom开发人员工具信息 - >

请求标题浏览源

Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Authorization:Basic dWlhZG1pbjpyZWRzZWFs
Connection:keep-alive
Host:localhost:8443
Referer:https://localhost:8443/apps.jsp

响应标题

Content-Type:application/json;charset=UTF-8
Date:Wed, 25 Sep 2013 10:40:59 GMT
Server:Apache-Coyote/1.1
Transfer-Encoding:chunked

使用压缩功能      json结果大小= 433 KB,从服务器到客户端获取数据的时间仍然是14秒左右

启用压缩时的Chrom开发人员工具信息 - >

Request Method:GET
Status Code:200 OK

请求标题

Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Authorization:Basic dWlhZG1pbjpyZWRzZWFs
Connection:keep-alive
Host:localhost:8443
Referer:https://localhost:8443/apps.jsp
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36
X-Requested-With:XMLHttpRequest

响应标题

Content-Encoding:gzip
Content-Type:application/json;charset=UTF-8
Date:Wed, 25 Sep 2013 10:16:02 GMT
Server:Apache-Coyote/1.1
Transfer-Encoding:chunked
Vary:Accept-Encoding

配置的嵌入式Tomcat代码:

httpsConnector.setAttribute("compression","on");
 httpsConnector.setAttribute("compressionMinSize","2048");
 httpsConnector.setAttribute("noCompressionUserAgents","gozilla, traviata");
 httpsConnector.setAttribute("compressableMimeType","application/json,text/html,text/xml,text/plain,text/javascript,text/css");

“transfer-encoding”在响应头中的值为“chunked”,这对我的问题有什么影响。 我无法弄清楚为什么在压缩数据时没有改善获取数据的时间。 如果我错过了一些配置,请告诉我。

0 个答案:

没有答案