有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Tomcat压缩特性并没有改善数据传输时间,尽管客户端(浏览器)获取的内容类型为gzip

使用tomcat的数据压缩特性,我看到数据(json结果)被压缩了,但是从服务器到客户端获取数据所花费的时间没有提高

客户:borwser

服务器嵌入式tomcat

SpringMVC框架和RESTAPI用于服务所有客户机请求。 Jackson用于将java对象转换为json格式

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

未使用压缩时的Chrom developer工具信息->

请求标题查看来源

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结果大小=433KB,但从服务器到客户端获取数据所需的时间仍然大约为14秒

启用压缩时的Chrom developer工具信息->

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");

“传输编码”在响应头中的值为“chunked”,这对我的问题有影响吗。 我无法理解为什么在压缩数据时获取数据的时间没有得到改善。 如果我缺少一些配置,请告诉我


共 (0) 个答案