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
Pada Ubuntu Server 7.10, buat file konfigurasi dengan nama httpd-compress.conf dan simpan file tersebut pada direktori /etc/httpd/conf/conf.d. Terdapat dua macam setting dari mod_deflate, yaitu:
Kompress semua file yang akan ditranster
Copy baris perintah dibawah ini kedalam file httpd-compress.conf yang akan dibuat
<Location />
# 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
</Location>
Kompress file-file tertentu saja
Terdapat beberapa file yang dapat di-compress dengan metode ini. File-file seperti mp3 dan jpeg akan error biasanya kalo di-compress, sehingga hanya dapat dilakukan pada file yang bentuknya txt. Seperti baris perintah dibawah ini:
<Location />
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
</Location>
Mengaktifkan mod_deflate pada apache.
Untuk dapat mengaktifkan setting mod_deflate pada apache di Ubuntu Server 7.10, ketikan perintah di bawah ini pada terminal console:
$ sudo a2enmod headers
$ sudo a2enmod deflate
Untuk mengetahui perubahan yang telah dilakukan, ketikan perintah dibawah ini pada terminal console untuk me-restart service apache:
$ sudo /etc/init.d/apache2 restart