欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

設(shè)置tomcat啟用gzip壓縮的具體操作方法

 更新時間:2013年08月30日 08:55:43   投稿:jingxian  
如果發(fā)現(xiàn)內(nèi)容沒有被壓縮,可以考慮調(diào)整compressionMinSize大小,如果請求資源小于這個數(shù)值,則不會啟用壓縮

原理簡介
HTTP 壓縮可以大大提高瀏覽網(wǎng)站的速度,它的原理是,在客戶端請求服務(wù)器對應(yīng)資源后,從服務(wù)器端將資源文件壓縮,再輸出到客戶端,由客戶端的瀏覽器負(fù)責(zé)解壓縮并瀏覽。相對于普通的瀏覽過程HTML ,CSS,Javascript , Text ,它可以節(jié)省40%左右的流量。更為重要的是,它可以對動態(tài)生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等輸出的網(wǎng)頁也能進(jìn)行壓縮,壓縮效率也很高。

配置方法
Tomcat5.0以后的版本是支持對輸出內(nèi)容進(jìn)行壓縮的,使用的是gzip壓縮格式 。
 
修改%TOMCAT_HOME%/conf/server.xml,修訂節(jié)點如下:

 <Connector port="80" protocol="HTTP/1.1" 
    connectionTimeout="20000" 
    redirectPort="8443" executor="tomcatThreadPool" URIEncoding="utf-8" 
       compression="on" 
       compressionMinSize="50" noCompressionUserAgents="gozilla, traviata" 
       compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" />

從上面節(jié)點的屬性可以看出,要使用gzip壓縮功能,你需要在Connector節(jié)點中加上如下屬性

•compression="on" 打開壓縮功能
•compressionMinSize="50" 啟用壓縮的輸出內(nèi)容大小,默認(rèn)為2KB
•noCompressionUserAgents="gozilla, traviata" 對于以下的瀏覽器,不啟用壓縮
•compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 哪些資源類型需要壓縮

測試方法

啟用了TOMCAT這個壓縮功能后,我們?nèi)绾蝸頊y試壓縮是否有效呢?
首先Tomcat是根據(jù)瀏覽器請求頭中的accept-encoding來判斷瀏覽器是否支持壓縮功能,如果這個值包含有g(shù)zip,就表明瀏覽器支持gzip壓縮內(nèi)容的瀏覽,我們可以用兩種方法來驗證壓縮是否生效。
通過瀏覽器直接請求

大家直接通過瀏覽器訪問啟用了壓縮配置的服務(wù)器,然后通過抓包工具查看抓到的數(shù)據(jù)包,如果內(nèi)容有很多你看不懂,就說明已經(jīng)啟用壓縮功能了。
通過程序模擬請求
我們用httpclient寫一個簡單的測試程序,代碼如下:

 @Test
  public void testGzip() {
    HttpClient httpClient = new HttpClient();
    GetMethod getMethod = new GetMethod("http://localhost/admin.jsp");
    try {
      getMethod.addRequestHeader("accept-encoding", "gzip,deflate");
      getMethod.addRequestHeader("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Alexa Toolbar; Maxthon 2.0)");
      int result = httpClient.executeMethod(getMethod);
      if (result == 200) {
        System.out.println(getMethod.getResponseContentLength());
        String html = getMethod.getResponseBodyAsString();
        System.out.println(html);
        System.out.println(html.getBytes().length);
      }
    } catch (HttpException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      getMethod.releaseConnection();
    }
  }

執(zhí)行這個junit程序,看看它所輸出的是什么內(nèi)容,如果輸出的是一些亂碼,并且打印內(nèi)容的長度遠(yuǎn)小于實際的長度,就說明我們的配置生效了,通過一些其它驗證工具,會發(fā)現(xiàn)網(wǎng)站瀏覽速度會明顯提升。

備注:如果發(fā)現(xiàn)內(nèi)容沒有被壓縮,可以考慮調(diào)整compressionMinSize大小,如果請求資源小于這個數(shù)值,則不會啟用壓縮。

相關(guān)文章

  • Java中常見的日期操作(取值、轉(zhuǎn)換、加減、比較)

    Java中常見的日期操作(取值、轉(zhuǎn)換、加減、比較)

    本文給大家介紹java中常見的日期操作,日期取值、日期轉(zhuǎn)換、日期加減、日期比較,對java日期操作相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • 基于parameters參數(shù)實現(xiàn)參數(shù)化過程解析

    基于parameters參數(shù)實現(xiàn)參數(shù)化過程解析

    這篇文章主要介紹了基于parameters參數(shù)實現(xiàn)參數(shù)化過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Java8并行流中自定義線程池操作示例

    Java8并行流中自定義線程池操作示例

    這篇文章主要介紹了Java8并行流中自定義線程池操作,結(jié)合實例形式分析了并行流的相關(guān)概念、定義及自定義線程池的相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • 利用棧使用簡易計算器(Java實現(xiàn))

    利用棧使用簡易計算器(Java實現(xiàn))

    這篇文章主要為大家詳細(xì)介紹了Java利用棧實現(xiàn)簡易計算器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Java定義泛型方法實例分析

    Java定義泛型方法實例分析

    這篇文章主要介紹了Java定義泛型方法,結(jié)合實例形式分析了java定義泛型的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2019-07-07
  • Java多線程之鎖學(xué)習(xí)(增強(qiáng)版)

    Java多線程之鎖學(xué)習(xí)(增強(qiáng)版)

    這篇文章主要為大家詳細(xì)介紹了Java多線程中鎖的相關(guān)知識,文中的示例代碼講解詳細(xì),對我們了解線程有一定幫助,需要的可以參考一下
    2023-02-02
  • 有關(guān)ServletConfig與ServletContext的訪問

    有關(guān)ServletConfig與ServletContext的訪問

    下面小編就為大家?guī)硪黄嘘P(guān)ServletConfig與ServletContext的訪問。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Java實現(xiàn)差分?jǐn)?shù)組的示例詳解

    Java實現(xiàn)差分?jǐn)?shù)組的示例詳解

    差分?jǐn)?shù)組是由原數(shù)組進(jìn)化而來,值為原數(shù)組當(dāng)前位置值減去上一個位置的值。本文將通過例題詳解如何利用Java實現(xiàn)差分?jǐn)?shù)組,需要的可以參考一下
    2022-06-06
  • Java 數(shù)組迭代你會用嗎

    Java 數(shù)組迭代你會用嗎

    Java 數(shù)組是我們學(xué)習(xí)或工作中常用到的數(shù)據(jù)結(jié)構(gòu),我們會經(jīng)常寫數(shù)組迭代的代碼,本文介紹三種數(shù)組迭代的方式,感興趣的可以了解一下
    2021-09-09
  • Java幾種常用JSON庫性能比較詳解

    Java幾種常用JSON庫性能比較詳解

    這篇文章主要介紹了Java幾種常用JSON庫性能比較詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06

最新評論