Home > programming, web > mod_deflate pada Apache

mod_deflate pada Apache

January 5th, 2009

Latar belakang

Browser sekarang ini seperti Opera 9, Firefox 1.5, IE 6 sudah mendukung pengiriman data terkompresi (compressed). Gunanya adalah untuk mempercepat pengiriman data dari web server ke browser. Biasanya kompresi yang digunakan adalah gzip. Kompresi ini tidak disarankan untuk developer ketika membuka websitenya dari local area network, karena speed di dalam LAN itu sendiri sangat cepat, sehingga dengan di tambahkan nya kompresi di server dan dekompresi di bagian client, akan membuat proses sedikit lebih lambat. Tetapi hal ini jika digunakan untuk transfer data antar internet (bahkan dengan koneksi fiber optic sekalipun) akan membuat koneksi lebih cepat sekitar 10 – 30 persen.

Berikut saya akan jelaskan cara merubah setting apache anda supaya menggunakan mod_deflate, sehingga untuk setiap browser yang datang dan bisa menggunakan gzip sebagai metode pengiriman, akan di kirim dengan gzip. Apache mendeteksinya dari header: accept-content: gzip;

Setting Apache

Buat file setting tambahan

Jika anda menggunakan XAMPP sebagai default instalasi file anda, anda akan melihat ada folder /xampp/apache/conf/extra Anda bisa meletakan file baru ini di sana. Saya menggunakan nama file httpd-compress.conf sebagai nama filenya.

Pada CentOS taruh file ini pada /etc/httpd/conf/conf.d/httpd-compress.conf dan config akan dinyalakan otomatis pada startup apache.

Ada dua macam setting mod_deflate.

Kompress semua file yang akan di tranfer

Copy file di bawah ini ke dalam file yang baru saja anda buat

# Insert filter
SetOutputFilter DEFLATE
 
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
 
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
 
# MSIE masquerades as Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
 
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won't work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
 
# Don't compress images
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
 
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary

Kompress file2 tertentu saja

Saya membuat beberapa list di bawah ini , file2 yang biasanya di compress. File2 seperti mp3 dan jpeg akan error biasanya kalo di kompress, sehingga saya hanya kompress file yang bentuknya txt

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE application/x-httpd-eruby
AddOutputFilterByType DEFLATE text/html

Load file setting tambahan

Pada server windows anda harus menambahkan baris ini pada httpd.conf agar memberitahu apache supaya membaca config dari file lain. Pada CentOS anda dapat melewatkan baris yang ini, karena semua file dalam conf.d akan selalu di load.

# mod-deflate by rickyok
Include conf/extra/httpd-compress.conf

Nyalakan mod_deflate

Dan tentu saja supaya mod itu dapat bekerja, anda harus mengaktifkan terlebih dahulu dengan menghapus tanda # di depan ini. Cari baris di bawah ini di httpd.conf dan harus tanda # di depannya. Jika baris ini tidak ada di httpd.conf anda, kemungkinan besar apache anda belom support mod_deflate secara default. Anda harus compile ulang apache anda, atau download mod_deflate.so atau mod_deflate.dll

LoadModule deflate_module modules/mod_deflate.so

Referensi

Share

programming, web ,

  1. February 2nd, 2010 at 17:59 | #1

    wow, baca tips tentang mod deflate. Ak juga make mod deflate.

  1. No trackbacks yet.

Switch to our mobile site