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,698 times, 1 visits today)

別人也看了:

Windows 64-bit 網站程式 apache,php,mysql 的資源... 這一篇是記綠 Windows x64 網站程式的資源,怕忘記去哪裡找了。 Apache 2.2 Windows 64-bit Php 5.3 64 bit MySQL 5 ...
盜連與Apache反盜連 Somewhere真是個無法無天的地方--竟然有人偷了本站文章,偷文章也就算了,文章內的圖還是連到本站佔用本站大量頻寬. 看看這個 "文學城" "http://web.wenxuecity.com/...
使用 cronolog 作 Apache log 的分割處理 使用 Apache, 它的 log 檔 default 是叫 access.log, 是一個連續且不斷長大的檔案, 只要 log 不是關閉狀態, 凡是用戶連向你的網站, 就會有像這樣的一筆記在 log...
Apache on Windows 本格的 Apache 跑在新主機板的 Windows Vista 上面,經過幾天運行,目前看起來 ok. 目前的 Apache 2.2.4 安裝檔,不能在 Vista 上完成安裝,有下面方法可...
用 Apache 拒絕網路流氓的騷擾 Google, Yahoo 的搜尋引擎之所以可以搜尋到很多資料,是因為他們時時刻刻都派著 "robot" 在網路上巡邏,Google 的叫 googlebot, MSN 叫 msnbot, Yahoo...
分享:

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

發表迴響