你的位置:首页 > Java教程

[Java教程]【TOMCAT】Tomcat gzip压缩传输数据


概述

由于我们项目的三维模型文件非常大,为了提高传输速度,在服务端对其做zip压缩处理非常有必要,能够极大的提高传输速度。

配置

首先需要修改web.

<mime-mapping>    <extension>s3m</extension>    <mime-type>application/octet-stream</mime-type></mime-mapping>

即.s3m文件对应的mime类型为application/octet-stream。然后编辑tomcat的配置文件server.

<Connector port="8090"        protocol="HTTP/1.1"               connectionTimeout="20000"        redirectPort="8453"        executor="tomcatThreadPool"        enableLookups="false"        URIEncoding="utf-8"        compression="on"        compressionMinSize="2048"        useSendfile = "false"        compressableMimeType="application/octet-stream"        />

其中compression=”on”设置开启压缩,

compressionMinSize=”2048”设置压缩数据的最小值,即数据的字节数必须达到2048个才启用压缩,

compressableMimeType="application/octet-stream"

设置为对应mime类型文件的数据进行压缩,正如前面我们在web

此外,tomcat默认设置是当数据大小达到48kb时,将启用文件传输(sendfile),所以我们想要压缩超过48kb的数据时必须将useSendfile设置为false,具体看官方文档解释。

配置好以上信息后重启tomcat,看看iserver中发布数据的效果。

 

可以看到原文件为117k,压缩后变为66k,而浏览器可对数据进行相应格式的解压缩。