Tomcat 開啓Gzip壓縮

原理簡介

        HTTP 壓縮能夠大大提升瀏覽網站的速度,它的原理是,在客戶端請求服務器對應資源後,從服務器端將資源文件壓縮,再輸出到客戶端,由客戶端的瀏覽器負責解壓縮並瀏覽。相對於普通的瀏覽過程HTML ,CSS,Javascript , Text ,它能夠節省40%左右的流量。更爲重要的是,它能夠對動態生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等輸出的網頁也能進行壓縮,壓縮效率也很高。 

配置方法

Tomcat5.0之後的版本是支持對輸出內容進行壓縮的,使用的是gzip壓縮格式 。
修改server.xml

<Connector port="8080" protocol="HTTP/1.1"
      connectionTimeout="20000"
        enableLookups="false"
          redirectPort="8443"javascript

          compression="on" css

          compressionMinSize="50"
        noCompressionUserAgents="gozilla, traviata"
      compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
/>html

從上面節點的屬性能夠看出,要使用gzip壓縮功能,你須要在Connector節點中加上以下屬性

java

    • compression="on" 打開壓縮功能 
    • compressionMinSize="50" 啓用壓縮的輸出內容大小,默認爲2KB 
    • noCompressionUserAgents="gozilla, traviata" 對於如下的瀏覽器,不啓用壓縮 
    • compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 哪些資源類型須要壓縮

測試方法

啓用了TOMCAT這個壓縮功能後,咱們如何來測試壓縮是否有效呢?
首先Tomcat是根據瀏覽器請求頭中的accept-encoding來判斷瀏覽器是否支持壓縮功能,若是這個值包含有gzip,就代表瀏覽器支持gzip壓縮內容的瀏覽,咱們能夠用兩種方法來驗證壓縮是否生效。

 

經過查看服務器端圖片大小和firebug出現的圖片大小比較。瀏覽器

調整鏈接器connector的併發處理能力

 

 

參數說明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
maxThreads         #客戶請求最大線程數
minSpareThreads    #Tomcat初始化時建立的 socket 線程數
maxSpareThreads    #Tomcat鏈接器的最大空閒 socket 線程數
enableLookups      #若設爲true, 則支持域名解析,可把 ip 地址解析爲主機名
redirectPort       #在須要基於安全通道的場合,把客戶請求轉發到基於SSL 的 redirectPort 端口
acceptAccount      #監聽端口隊列最大數,滿了以後客戶請求會被拒絕(不能小於maxSpareThreads  )
connectionTimeout  #鏈接超時
minProcessors      #服務器建立時的最小處理線程數
maxProcessors      #服務器同時最大處理線程數
URIEncoding        #URL統一編碼
compression        #打開壓縮功能   
compressionMinSize    #啓用壓縮的輸出內容大小,這裏面默認爲2KB
compressableMimeType  #壓縮類型
connectionTimeout  #定義創建客戶鏈接超時的時間. 若是爲 -1, 表示不限制創建客戶鏈接的時間
相關文章
相關標籤/搜索