Apache2 使用 mod_gzip 增進傳輸效能

要加快網頁傳輸的速度,一個方法是增加網路的頻寬,另一個方法是降低資料量,這是大家都知道的道理. HTTP 通訊協定基本上就是 server 接受 client 的 request (GET) 然後送出被要求的資料,如果 server 端可以送出一份壓縮過的資料而可以被 client 端接受,那麼雖然是傳送相同的資料,但是經過壓縮就可以有效的降低資料量.

本站使用 Win32 的 Apache 2.0.54,如果想要達成上面講的機制,要另加一個 gzip 的模組 mod_gzip,這裡可以下載 mod_gzip 預先編譯好的版本 mod_gzip-2.0.53-w32.zip,用在 Apache 2.0.54 沒問題. 用法如下:

在 httpd.conf 加上
LoadModule gzip_module modules/mod_gzip.so


mod_gzip_on Yes
mod_gzip_compression_level 9
mod_gzip_item_include file \.css$
mod_gzip_item_include file \.js$
mod_gzip_item_include mime text/.*

其中 mod_gzip_compression_level 9 是最高壓縮,mod_gzip_item_include 是設定什麼樣的資料檔要壓縮,上例中 *.css 及 *.js 會被壓縮傳送. 圖檔如 .jpg, .png,或音樂 .mp3 等,則不宜再壓縮,因為檔案本身就已經是壓縮過的.

修改完後要 restart Apache. Apache 如果接到 browser 送來的 Accept-Encoding 含有 gzip 就會以 gzip 壓縮再傳送(Accept-Encoding: gzip,deflate ),現在新的 browser 都已經支援. 如果 browser 沒有送來支援的訊息,server 端就會以不壓縮的原資料傳送.

實驗結果,本來 style.css 這個檔是 12911 bytes,壓縮傳送是 3342 bytes,省了近 10k 的傳輸量,意謂者使用者等待的時間縮短了.

Apache2 官方包裝內含有 mod_deflate,是一樣的功能,不過壓縮能力比 mod_gzip 差一點,用法不一樣.

(Visited 11,705 times, 1 visits today)

別人也看了:

Apache on Windows 本格的 Apache 跑在新主機板的 Windows Vista 上面,經過幾天運行,目前看起來 ok. 目前的 Apache 2.2.4 安裝檔,不能在 Vista 上完成安裝,有下面方法可...
Apache 防制 DoS 攻擊的 mod_dosevasive 模組 吃燒餅沒有不掉芝麻的,而開網站的沒有不被攻擊的... 奇怪了,世界上還真多無聊人士,吃飽就想如何攻擊別人的網站,不知道是什麼心態. 一種常見的攻擊是貼廣告或是莫名其妙的留言,這些都是要廣告特定的 UR...
Apache log 分割處理用的 mod_log_rotate 今天是 2006 最後一天,新年快樂! 以前提過使用 cronolog 作 Apache log 的分割處理,它是使用外部的程式去分割,但是今天在測試 Apache 2.2.3 的時候發現問題,...
Apache2 使用 mod_deflate 增進傳輸效能 在前篇提過使用 mod_gzip 增進傳輸效能,但似乎有些地方有問題,如果加上mod_gzip_item_include mime application/x-httpd-php,照理說應該會把 ph...
用 Apache 拒絕網路流氓的騷擾 Google, Yahoo 的搜尋引擎之所以可以搜尋到很多資料,是因為他們時時刻刻都派著 "robot" 在網路上巡邏,Google 的叫 googlebot, MSN 叫 msnbot, Yahoo...
分享:

“Apache2 使用 mod_gzip 增進傳輸效能” 有 2 則迴響.

發表迴響