一篇講網站頁面壓縮的好文

來源:互聯網
上載者:User
在IBM DW看到篇好文,是講如何通過伺服器配置(tomcat,apache,IIS)來實現頁面壓縮的,
地址是:http://www.ibm.com/developerworks/cn/web/wa-lo-webcompress/index.html

要點有

網頁壓縮是一項由 WEB 伺服器和瀏覽器之間共同遵守的協議,也就是說 WEB 伺服器和瀏覽器都必須支援該技術,所幸的是現在流行的瀏覽器都是支援的,包括 IE、FireFox、Opera 等;伺服器有 Apache 和 IIS 等。雙方的協商過程如下:

  1. 首先瀏覽器請求某個 URL 地址,並在請求的頭 (head) 中設定屬性 accept-encoding 值為 gzip, deflate,表明瀏覽器支援 gzip 和 deflate 這兩種壓縮方式(事實上 deflate 也是使用 gzip 壓縮協議,下面我們會介紹二者之間的區別);
  2. WEB 伺服器接收到請求後判斷瀏覽器是否支援壓縮,如果支援就傳送壓縮後的響應內容,否則傳送不經過壓縮的內容;
  3. 瀏覽器擷取響應內容後,判斷內容是否被壓縮,如果是則解壓縮,然後顯示響應頁面的內容。

在實際的應用中我們發現壓縮的比率往往在 3 到 10 倍,也就是本來 50k 大小的頁面,採用壓縮後實際傳輸的內容大小只有 5 至 15k 大小,這可以大大節省伺服器的網路頻寬,同時如果應用程式的響應足夠快時,網站的速度瓶頸就轉到了網路的傳輸速度上,因此內容壓縮後就可以大大的提升頁面的瀏覽速度。

對TOMCAT伺服器

如果您的 WEB 應用程式是跑在 Tomcat 伺服器下的,而且直接使用 Tomcat 所提供的 HTTP 服務,那建議你馬上動手,因為實在是太簡單了,你只需要在 server.xml 設定檔中給 HTTP Connector 增加一個 compression 的參數值為 on 並重啟 Tomcat 伺服器就立刻生效,配置如下:

    <Connector port="8080" protocol="HTTP/1.1"            maxThreads="150" connectionTimeout="20000"            redirectPort="8443" compression="on"/>            

Tomcat 採用的是 HTTP/1.1 的 GZIP 壓縮協議,它會根據瀏覽器送過來的請求中的 accept-encoding 值是否包含 gzip 來判斷瀏覽器是否支援 gzip 壓縮協議,如果瀏覽器支援就啟用 gzip 壓縮,否則就不進行任何壓縮處理。Tomcat 中還有另外一個參數 compressableMimeType,這個參數可以用來指定壓縮哪種類型的內容,例如可以指定該配置值為:text/html,text/plain ,則只壓縮 contentType 為 text/html 和 text/plain 的頁面,不過您最好也將 css 和 javascript 檔案也算在壓縮的檔案類型中,因為這兩者的壓縮效果也十分的明顯。

APACHE伺服器,啟用mod_deflate.so就可以了
IIS5暫時不行,要用第三方工具;而IIS 6可以了,見文章中的介紹方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.