<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)  編輯  收藏

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

    網站導航:
     
    主站蜘蛛池模板: 一个人免费观看在线视频www| 亚洲中文无码av永久| 思思99re66在线精品免费观看| 麻豆精品不卡国产免费看| 男人j进女人p免费视频| 亚洲人成网站18禁止| 亚洲精品免费在线视频| 亚洲AV无码AV男人的天堂| 相泽亚洲一区中文字幕| 国产真实伦在线视频免费观看 | 久久久久无码专区亚洲av| 午夜爱爱免费视频| 足恋玩丝袜脚视频免费网站| 在线观看免费视频网站色| 又长又大又粗又硬3p免费视频| 亚洲AV无码一区二区三区牲色| 久久精品国产亚洲av麻豆蜜芽| 亚洲视频手机在线| 久久精品亚洲综合专区| 国产av无码专区亚洲av桃花庵 | 免费在线人人电影网| 亚洲AV噜噜一区二区三区| 亚洲国产精品免费观看| 亚洲最大成人网色香蕉| 亚洲午夜国产精品无卡| 亚洲国产精品久久久久秋霞影院| 亚洲AV日韩AV永久无码免下载| 亚洲AV无码专区亚洲AV伊甸园| 在线观看亚洲精品福利片| 久久青青草原亚洲av无码| 国产亚洲美日韩AV中文字幕无码成人| 国产免费拔擦拔擦8x| 免费播放特黄特色毛片| 亚洲乱亚洲乱少妇无码| 在线日韩日本国产亚洲| 亚洲Av无码专区国产乱码DVD| 亚洲色图在线播放| 亚洲激情黄色小说| 亚洲一区二区三区丝袜| 精品无码专区亚洲| xxxxxx日本处大片免费看|