Post

How to use GZIP

In Teknologi on December 29, 2010 by Chandra Saputra

Kembali tulisan seorang niubi.
Salah satu penilaian sebuah website adalah performansi akses dari sebuah web, disini bila kita bicara mengenai performa tentu saja akan berbicara masalah load page sebuah halaman web. Seperti yang ada pada web performance test ada beberapa penilaian tentang performa sebuah website, penilaian itu antara lain keep-alive connection, GZIP-Teks, Compress Images, Enable browser caching, Combine static CSS, Use a CDN, Minify JS, Proper cookie usage dan JQuery Selectors.

Pada kesempatan ini saya akan sedikit berbagi mengenai penggunan GZIP.  Gzip Compression bekerja dengan konsep mengkompresi ukuran halaman web/blog sebelum digunakan browser. Pada saat sebuah browser merequest alamat website, server akan merespon hasil request tersebut dan mengembalikan informasi (tampilan web) ke browser tersebut. Ukuran real size dari halaman itu misalkan 200KB, tentu saja proses ini akan membutuhkan waktu yang lama, apalagi kompleksitas halaman web yang sangat hebat maka perlu ada sebuah kompresi terhadap halaman tersebut agar lebih enteng diload oleh browser. Disinilah fungsi utama dari GZIP, yang akan kita manfaatkan adalah HTTP Gzip Compression.  Setelah server menemukan file yang diminta oleh browser, selanjutnya yang dilakukan adalah mengecek apakah browser tersebut mendukung kompresi Gzip (informasi ini dikirim oleh header browser dengan parameter, Accept-encoding: Gzip), jika IYA maka server akan mengkompresi (zip) halaman yang diminta tersebut baru kemudian mengirimnya ke browser, dan selanjutnya browser akan me-dekompres (unzip) halaman yang diterimanya dari server. Dengan adanya kompresi ini halaman yang sebelumnya berukuran 200KB bisa turun hanya menjadi 15KB saja, jadi proses load halamannya akan lebih cepat.
Optimisasi HTTP Gzip Compression hanya berjalan pada server (hosting) yang memiliki salah satu module (Apache server) berikut mod_deflate atau mod_gzip yang aktif. Ketika anda menjalankan php info maka pastikan pada server anda terdapat library zlib. Jika sudah ada maka :

  • Buat file .htaccess, siskan script berikut pada file tersebu
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml  application/xml
AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml  application/atom+xml
AddOutputFilterByType DEFLATE text/javascript application/javascript  application/x-javascript
AddOutputFilterByType DEFLATE application/x-font-ttf  application/x-font-otf
AddOutputFilterByType DEFLATE font/truetype font/opentype
</ifmodule>
# removes some bugs
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
# Other Compression (Gzip)
<ifmodule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifmodule>
# END Compression
  • Jika anda tidak bisa membuat file .htaccess, bisa mencoba dengan menggunakan kode PHP berikut ini
< ?php
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'],  'gzip'))
ob_start("ob_gzhandler"); else ob_start();
?>

Pasang kode php tersebut disetiap awal halaman website kita. Untuk mengecek apakah berhasil atau tidak silakan kunjungi alamat web berikut :

  • http://aruljohn.com/gziptest.php
  • http://www.gidnetwork.com/tools/gzip-test.php
  • http://www.whatsmyip.org/http_compression/

Jika hasilnya gzipped maka anda berhasil, jika tidak maka anda belum beruntung :D

Sumber Klik Disini

Advertisement

One Response to “How to use GZIP”

  1. [...] Unda neh… « How to use GZIP [...]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.