java gzip壓縮,tomcat服務器開啟gzip功能的方法

 2023-11-18 阅读 22 评论 0

摘要:http://blog.csdn.net/wang_159369/article/details/8107163 java gzip壓縮、? tomcat5.0以后的版本是支持對輸出內容進行gzip格式的壓縮的。該功能默認是關閉的,如果需要啟用該功能,我們需要修改tomcat的配置文件server.xml,修改的方法是在server.xml的

http://blog.csdn.net/wang_159369/article/details/8107163

java gzip壓縮、?

tomcat5.0以后的版本是支持對輸出內容進行gzip格式的壓縮的。該功能默認是關閉的,如果需要啟用該功能,我們需要修改tomcat的配置文件server.xml,修改的方法是在server.xml的節點

yum安裝jdk1.8。處加上屬性:? compression=”on”? ,即

下面是tomcat5.5.20 中的$tomcat_home$/conf/server.xml的原內容

1  < Connector port ="80" maxHttpHeaderSize ="8192"
2                 maxThreads ="150" minSpareThreads ="25" maxSpareThreads ="75"
3                 enableLookups ="false" redirectPort ="8443" acceptCount ="100"
4                 connectionTimeout ="20000" disableUploadTimeout ="true" URIEncoding ="utf-8" />
5  <!-- Note : To disable connection timeouts, set connectionTimeout value
6       to 0 -->
7
8  <!-- Note : To use gzip compression you could set the following properties :
9
10                 compression="on"
11                 compressionMinSize="2048"
12                 noCompressionUserAgents="gozilla, traviata"
13                 compressableMimeType="text/html,text/xml"
14  -->

?

從上面的第8行內容可以看出,要使用gzip壓縮功能,你可以在Connector實例中加上如下屬性即可
1) compression=”on” 打開壓縮功能
2) compressionMinSize=”2048″ 啟用壓縮的輸出內容大小,這里面默認為2KB
3) noCompressionUserAgents=”gozilla, traviata” 對于以下的瀏覽器,不啟用壓縮?
4) ?compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/png,image/jpg,image/gif" 壓縮類型

對于某些文本文件比如:log、txt等文件,我們也可以讓服務器采用gzip壓縮傳輸,修改conf目錄下web.xml,添加???

<mime-mapping>
???????? <extension>log</extension>
???????? <mime-type>text/plain</mime-type>
</mime-mapping>

等,就可以指定壓縮傳輸了。通常情況下,壓縮傳輸能大幅度提高展示速度。

?

Nginx和Tomcat同時啟用GZIP的后果:

http://www.iteye.com/topic/1118087

?

新部署的一臺服務器在做了性能調優以后發現FCK在線編輯器IE、firefox都出現報錯,只有chrome正常。百思不得其解,差點就把FCK換掉。經過千辛萬苦終于找到了原因(本人找錯誤原因的運氣一直都非常好):

?

開始以為是腳本亂碼,看了文件頭的那段注釋以后確認不是這個問題。

?

在firefox的firedebug上面看到的腳本一直報找不到對象的錯誤,難道是公司的網絡龜速導致腳本加載順序不協調所致?幾次刷新以后問題還在,304狀態碼說明不是網絡龜速的原因。

?

最后把FCK的javascript腳本下載到本地以后一看,只有20k左右,而完整的是249K,看來我找到原因了~~

?

還是百思不得其解,好好的靜態腳本文件為什么會下載了一部分就完了呢?而且首次下載的狀態碼是200,之后的刷新都是304,這違反了我對HTTP狀態碼的理解。

?

撇開前端的Nginx,直接訪問tomcat居然頁面就正常了。so~問題在nginx。nginx處理靜態資源的能力從來都沒有懷疑過(這再次違反了我對XXX的理解)。

?

靈光一閃,前后端的服務器最近都進行了調優,難道是這次修改了 配置文件導致的?so首先關閉nginx的gzip ?off;,重啟Nginx后全世界正常了。隨后關閉后端tomcat的compression="off",重新啟用Nginx的gzip,問題終于解 決了。

?

總結:多層服務器結構的系統啟用gzip壓縮要注意一個問題:前端服務器啟用了gzip以后,后端的服務器就不要啟用gzip壓縮了,不然部分瀏覽器會下載到不完整的文件。

轉載于:https://www.cnblogs.com/sunxucool/p/3140730.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/175534.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息