电竞比分网-中国电竞赛事及体育赛事平台

分享

關(guān)于http gzip壓縮的一點(diǎn)想法

 chanvy 2008-11-23
關(guān)于http gzip壓縮的一點(diǎn)想法
 
今天在路上偶爾想到,既然js,html,圖片等靜態(tài)內(nèi)容可以通過(guò)http gzip壓縮的方式傳輸?shù)綖g覽器(相對(duì)于普通的瀏覽過(guò)程HTML ,CSS,Javascript , Text ,它可以節(jié)省40%左右的流量),那用jsp,servlet等動(dòng)態(tài)創(chuàng)建的內(nèi)容是否也可以壓縮傳輸呢?還有AJAX的請(qǐng)求內(nèi)容是否也可以用gziap壓縮傳輸?
帶著這些問(wèn)題在網(wǎng)上查了下資料
AJAX的請(qǐng)求可以通過(guò)在http request中增加一個(gè)頭標(biāo)識(shí):accept-encoding,值為"gzip"的方式實(shí)現(xiàn)
servlet則可以通過(guò)配置一個(gè)filter來(lái)實(shí)現(xiàn)
針對(duì)Apache2.0之前的版本,可以通過(guò)添加第三方的module_gzip模塊來(lái)啟用
針對(duì)Apache2.0及之后的版本,可以通過(guò)mod_deflate啟動(dòng)


下面的一個(gè)鏈接詳細(xì)介紹了apache,tomcat中的配置方法:
http://www./article/article5/DA6B1D7BCDE9DE999C34E7379E18B35A.htm?id=2746
http:///blog/more.asp?name=lhwork&id=21867

用tomcat 6的可以到下面的url參考:
http://tomcat./tomcat-6.0-doc/config/http.html

在tomcat的server.xml的connector部分,把compression="force"選項(xiàng)加上,然后,就可以用下面的代碼測(cè)試,我是在demo應(yīng)用下放了個(gè)md5.js:

/**
 * Created at 2008-03-21.
 */
package com.demo.test.http.gzip;

import junit.framework.TestCase;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;

/**
 * @author pony

 * 如果有任何對(duì)代碼的修改,請(qǐng)按下面的格式注明修改的內(nèi)容.
 * 序號(hào)   時(shí)間       作者        修改內(nèi)容
 * 1.  2008-3-21 pony created this class.
 *
 */
public class TestTomcatGzipConfigure extends TestCase {
 public void testGetGzipContentFromTomcat() throws Exception {
  HttpClient http = new HttpClient();
  GetMethod get = new GetMethod("http://192.168.66.128:8080/demo/md5.js");
  try {
   get.addRequestHeader("accept-encoding", "gzip,deflate");
   get.addRequestHeader(
       "user-agent",
       "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Alexa Toolbar; Maxthon 2.0)");
   int er = http.executeMethod(get);
   if (er == 200) {
    System.out.println(get.getResponseContentLength());
    String html = get.getResponseBodyAsString();
    System.out.println(html);
    System.out.println(html.getBytes().length);
   }
  } finally {
   get.releaseConnection();
  }
 }
}

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多