gzip壓縮啟用不啟用還是要看實際情況的,啟用gzip后可以相應的減輕帶寬壓力但是同時也會增加cpu的壓力(壓縮解壓),相反的如果不啟用那么cpu壓力也會相應的減少,具體情況具體分析.
Linux開啟gzip很簡單
找到tomcat下conf目錄
編輯server.xml文件
vim server.xml
找到Service節點下的Connector
新增四個屬性
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on"//是否啟用壓縮
compressionMinSize="2048"
noCompressionUserAgents=""
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"
/>
compression="on"//是否啟用壓縮
compressionMinSize="2048"//只有超過當前設置數值大小的頁面才啟用壓縮(單位是字節B)如果不指定默認大小為2048
------------------------------eg:begin------------------------------

比如我就想看這個index.html頁面的壓縮效果,這里的158953就可以作為compressionMinSize這里設置的值,接下來實驗一下
1).compressionMinSize="158952",理論上頁面就會壓縮,因為158953超過了158952
實際效果
谷歌瀏覽器

size上面是最終請求的大小下面是實際大小
火狐瀏覽器

發現壓縮已經生效
2).接下來改成compressionMinSize="158954"
實際效果
谷歌瀏覽器

火狐瀏覽器

沒有壓縮,OK.
3).compressionMinSize="158953"
如果是相等的話也不會壓縮,有興趣的可以去試試
------------------------------eg:end------------------------------
noCompressionUserAgents=""這些瀏覽器中不啟用壓縮,值為一個正則表達式(用java.util.regex去匹配)
------------------------------eg:begin------------------------------
因為我手頭只有谷歌瀏覽器跟火狐瀏覽器,IE我現在已經拋棄了,就拿谷歌來測試一下
字段的意思是"不壓縮的user-agent",user-agent 用過谷歌.火狐的開發者工具的人應該都知道在哪看當前一個請求的user-agent
谷歌里

火狐里

接下來准備實驗的目的就是在谷歌里不壓縮在火狐里壓縮
1).首先我需要寫個正則匹配一下谷歌瀏覽器的user-agent
public static void main(String[] args) {
boolean matches = java.util.regex.Pattern.matches(".*Chrome.*?", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36");
System.out.println(matches);
}
輸出結果
true
2).設置一下server.xml
compressionMinSize="158951"
noCompressionUserAgents=".*Chrome.*?"
重啟服務器看效果
谷歌瀏覽器

沒有壓縮
火狐瀏覽器

還是處於壓縮狀態中,也OK
------------------------------eg:end------------------------------
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript" 這個就沒什么說的了需要壓縮的資源類型
參考文章:https://examples.javacodegeeks.com/enterprise-java/tomcat/enable-gzip-compression-apache-tomcat/ 第七點,這里有些地方比我說的詳細
如果對gzip原理感興趣的也可以去百度谷歌上去搜搜看.
歡迎交流學習,如需轉載請注明出處,謝謝.
