使用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”,这对我的问题有什么影响。 我无法弄清楚为什么在压缩数据时没有改善获取数据的时间。 如果我错过了一些配置,请告诉我。