<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Terry.Li-彬

    虛其心,可解天下之問;專其心,可治天下之學;靜其心,可悟天下之理;恒其心,可成天下之業。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks
    當網站從服器端請求的數據較大時,在有限的帶寬下就會造成瀏覽器加載緩慢,有時候會造成頁面沒有響應,使用戶體驗變得很差,tomcat為我們提供了有效的解決了辦法,就是使用壓縮來解決傳輸問題。
    ??????? tomcat使用HTTP/1.1 GZIP?來壓縮,以減少帶寬壓力,
    ?????? 首先介紹下gzip:
    ??????? HTTP協議上的GZIP編碼是一種用來改進WEB應用程序性能的技術。大流量的WEB站點常常使用GZIP壓縮技術來讓用戶感受更快的速度。這一般是指 WWW服務器中安裝的一個功能,當有人來訪問這個服務器中的網站時,服務器中的這個功能就將網頁內容壓縮后傳輸到來訪的電腦瀏覽器中顯示出來.一般對純文 本內容可壓縮到原大小的40%.這樣傳輸就快了,效果就是你點擊網址后會很快的顯示出來.當然這也會增加服務器的負載.?一般服務器中都安裝有這個功能模 塊的.
    ??????我們使用簡單的例子來介紹tomcat的壓縮使用:(使用firebug查看請求情況)

    ?首先是一個簡單的servlet:
    內容:
    public?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)
    ????????????
    throws?ServletException,?IOException?{

    ????????response.setContentType(
    "text/html");
    ????????PrintWriter?out?
    =?response.getWriter();
    ????????out
    ????????????????.println(
    "<!DOCTYPE?HTML?PUBLIC?\"-//W3C//DTD?HTML?4.01?Transitional//EN\">");
    ????????out.println("<HTML>");
    ????????out.println(
    "??<HEAD><TITLE>A?Servlet</TITLE></HEAD>");
    ????????out.println(
    "??<BODY>");
    ????????out.print(
    "?<select>?");
    ????????
    for?(int?i?=?0;?i?<?100000;?i++)?{
    ????????????out.print(
    "<option>testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest"+i+"</option>");
    ????????}

    ????????out.println(
    "</select>");
    ????????out.println(
    "??</BODY>");
    ????????out.println(
    "</HTML>");
    ????????out.flush();
    ????????out.close();
    ????}

    我們將輸出一個十萬個選項的下拉框,在不使用的壓縮的時候:


    ????請求數據達到9m ,大概的計算下我的下載用時(4m長城寬帶):9*1024/(4*1024/8)=18m? ,加上多人共享帶寬,也就是差不多20m。firebug顯示20.96。

    ??? 這個速度網站體驗肯定是很差的,接下來使用tomcat的壓縮以后看看:

    ?? 當然是要對其進行配置:
    ?? 有以下幾個參數可以使用:

    ??? compression="on"?
    是否啟用壓縮 on為啟用(文本數據壓縮) off為不啟用, force 壓縮所有數據
    compressionMinSize1="2048"?
    當超過最小數據大小才進行壓縮
    ?noCompressionUserAgents="gozilla, traviata"?
    哪些客戶端發出的請求不壓縮,默認是不限制
    compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
    配置想壓縮的數據類型,默認是?text/html,text/xml,text/plain

    配置以后是這樣的:
    <Connector?port="8088"?protocol="HTTP/1.1"?
    ???????????????connectionTimeout
    ="20000"?
    ???????????????redirectPort
    ="8443"
    ???????????????compression
    ="on"?
    ???????????????compressionMinSize1
    ="2048"?
    ???????????????noCompressionUserAgents
    ="gozilla,?traviata"?
    ???????????????compressableMimeType
    ="text/html,text/xml,text/javascript,text/css,text/plain"/>

    啟動后再看:

    ?
    這次數據被壓縮到274.7k,響應速度也減少了一半,當然,服務器的數據壓縮和瀏覽器的數據解壓都需要使用時間。

    ?
    例子完畢,
    ?? 當然tomcat的壓縮技術還有很多其他的特性,然而對于大數據量的請求不光是要使用這種技術,還需要在其他地方下功夫,比如ajax技術,緩存等等,
    也希望大家補充學習,謝謝。
    posted on 2010-09-18 17:20 禮物 閱讀(219) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。

    網站導航:
     
    主站蜘蛛池模板: 狠狠亚洲狠狠欧洲2019| 亚洲精品中文字幕无乱码麻豆| 精品国产人成亚洲区| 亚洲成AV人片在| 亚洲精品天堂成人片AV在线播放 | 久久精品国产精品亚洲艾| 偷自拍亚洲视频在线观看| 日本一卡精品视频免费| 国产亚洲色婷婷久久99精品91| 亚洲日本VA午夜在线电影| 美女网站免费福利视频| 亚洲系列国产精品制服丝袜第| 国产免费爽爽视频在线观看 | 色多多A级毛片免费看| 香蕉高清免费永久在线视频| 亚洲综合网美国十次| 丝袜足液精子免费视频| 免费国产高清视频| 香蕉视频免费在线播放| 成年人网站免费视频| 亚洲人成7777| 亚洲国产精品成人| 精品免费视在线观看| 亚洲理论在线观看| 亚洲性线免费观看视频成熟| 亚洲精品美女视频| 日本19禁啪啪无遮挡免费动图| 一区二区三区AV高清免费波多| 亚洲乱码一二三四五六区| 亚洲国产成人手机在线电影bd| 国产v亚洲v天堂无码网站| 亚洲午夜无码片在线观看影院猛| 免费人成在线观看网站品爱网日本| 日本xxwwxxww在线视频免费| a级毛片黄免费a级毛片| 99精品免费视品| 久久精品免费电影| 91嫩草免费国产永久入口| 97国产在线公开免费观看| 57pao国产成视频免费播放| 57pao一国产成视频永久免费|