tomcat设置gzip

摘要:
以下配置将请求json后缀文件的url添加Content-Type=application/json&lt/extension>您可以直接查看请求。5.确定是否gzip压缩。在浏览器中输入http:添加映射关系&lt/extension>应用程序/八位字节流<

使用tomcat发布3dtiles或terrain数据遇到的gzip问题

问题一

对大于1KB小于48KB的json请求进行gzip压缩,json为原文件(对于大于48KB使用sendfile)

1.创建原始文件

tomcat设置gzip第1张

2.设置

在apache-tomcat-8.5.9/conf/server.xml文件中,修改节点如下:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="200000"
               redirectPort="8443"
               compression="on"
               compressionMinSize="1024"
               compressableMimeType="application/json"
/>

3.参数说明

compression="on" 开启压缩

compressionMinSize="1024"大于1KB的文件才进行压缩

compressableMimeType="application/json",多个类型用","分隔,MIME类型(Content-Type)列表,例如:application/json。

useSendfile属性默认为true,当数据大小达到48kb时,将启用文件传输(sendfile),所以我们想要压缩超过48kb的数据时必须将useSendfile设置为false。(有同学按照我的博客设置,是因为文件大于48KB并且没有关闭sendfile)

4.确定MIME类型

方法一:MIM在apache-tomcat-8.5.9/conf/web.xml有一个设置列表,可以将对应文件后缀名添加MIME类型,

例如:下面配置将请求json后缀名文件的url都添加Content-Type=application/json

<mime-mapping>
        <extension>json</extension>
        <mime-type>application/json</mime-type>
    </mime-mapping>

方法二:

 若是不想找文件后缀名与MIME类型的对应关系,直接查看请求即可tomcat设置gzip第2张

5.确定是否gzip压缩

在浏览器输入http://localhost:8080/test-gzip/tileset.json

5.1在response headers里有Content-Encoding:gzip(告诉浏览器需要gzip解压),只要有这个head就意味着tomcat设置的gzip压缩生效了

5.2查看文件内容,用于判断是否gzip压缩是错误的,例如下图

tomcat设置gzip第3张

上图数据和原始数据一样,可能会误以为获取到的json没有用gzip压缩,其实是浏览器已经解压过数据,所以你看到的数据与原始数据是一样的。

可以通过比较文件大小判断是否gzip压缩

tomcat设置gzip第4张

tomcat设置gzip第5张

问题二

对大于1KB小于48KB的.terrain后缀文件请求,进行gzip压缩。

1.设置

1.1在apache-tomcat-8.5.9/conf/web.xml,增加映射关系

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

1.2在apache-tomcat-8.5.9/conf/server.xml文件中,修改节点如下:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="200000"
               redirectPort="8443"
               compression="on"
               compressionMinSize="1024"
               compressableMimeType="application/octet-stream"/>

2.测试

在浏览器输入http://localhost:8080/test-gzip/0.terrain

tomcat设置gzip第6张

延申:

使用cesiumlab生成已经经过gzip压缩过的地形,就没办法通过设置tomcat的gzip了,因为tomcat会再次压缩一次(相当于压缩两次)。只能设置response headers标识

例如java代码里加入

response.setHeader("Content-Encoding", "gzip");

例如加过滤器(已经验证过)

https://www.jianshu.com/p/5cc7d87c19f0

免责声明:文章转载自《tomcat设置gzip》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇node中的url和path模块【Android】Android中线程的应用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

webpack3 + vue 添加 serviceWorker

新的vue脚手架已经可以自带pwa了,本文主要针对旧版的webpack。 先装三个插件: $npm i register-service-worker sw-precache-webpack-plugin webpack-pwa-manifest --save-dev 因为pwa主要用于生产,我们来动手改造 build/webpack.prod.conf....

Python读取大文件的"坑“与内存占用检测

Python高级教程- Python进阶|Scrapy教程|Python高级|Python深入 (pythontab.com) python读写文件的api都很简单,一不留神就容易踩”坑“。笔者记录一次踩坑历程,并且给了一些总结,希望到大家在使用python的过程之中,能够避免一些可能产生隐患的代码。 1.read()与readlines()随手搜索pyt...

为maven设置代理

如果服务器是通过代理上网的,可以通过一下方式设置避免服务器不能联网安装依赖问题 # more /usr/local/maven/conf/settings.xml <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS...

Linux下的压缩和解压缩命令gzip/gunzip

作者:邓聪聪 Linux下的压缩和解压缩命令——gzip/gunzip yum -y install zip gzip (--安装压缩工具) gzip命令 gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。 gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又...

git查看某个文件的修改历史

<转自 http://www.cnblogs.com/flyme/archive/2011/11/28/2265899.html> 有时候在比对代码时,看到某些改动,但不清楚这个改动的作者和原因,也不知道对应的BUG号,也就是说无从查到这些改动的具体原因了~ 【注】:某个文件的改动是有限次的,而且每次代码修改的提交都会有commit描述,我们可...

【C#日期系列(一)】--C#获取某月第一天0分0秒以及最后一天59分59秒

工作中可能会遇到很多不常见的需求,比如这次需要获取某个月的第一天和最后一天 #region 取得某月的第一天0分0秒 /// <summary> /// 取得某月的第一天0分0秒 /// </summary> /// <param name="datetime"&...