網站啟用gzip壓縮


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原理感興趣的也可以去百度谷歌上去搜搜看.

歡迎交流學習,如需轉載請注明出處,謝謝.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM