2
我在写一个REST服务,我发送的大小约为3MB的JSON响应。应用程序使用Scalatra Framework开发,并在Tomcat服务器上运行。由于数据量很大,我想在通过网络发送给浏览器客户端之前压缩内容。GZip压缩的REST响应
要压缩的响应,我在tomcat的server.xml文件中添加以下代码:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
compression="on"
compressionMinSize="100"
noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,text/json,text/javascript,text/css,text/plain, application/javascript,application/xml,application/xml+xhtml,application/json"/>
但我没有找到之前传送的内容,并添加上述配置后的任何不同。它正在添加内容编码标头内容编码:gzip。这并没有解决我的实际目标。
为了测试这个配置是否真正起作用,我将JSON文件复制到服务器并试图访问该文件。它被作为客户端的小型压缩文件接收。
似乎我缺少一些配置来添加HTTP压缩JSON响应作为压缩。有人可以帮我解决这个问题吗?
看到这个回答gzip'ing回应:http://stackoverflow.com/a/4755728/89435 – mavroprovato
@mavroprovato,谢谢。在建议主题中的讨论帮助我解决了我的问题 – Rajeev