Tutorial HTTP Compression

HTTP Compression merupakan salah satu layanan yang seharusnya ada didalam suatu jasa web hosting. Sebab, fitur ini akan sangat bermanfaat mutualisme, baik itu untuk web master maupun web hoster (sebutan penyedia jasa web hosting). Untuk web master, dengan adanya http compression ini akan menghemat bandwith serta memuaskan pengunjung website dengan cepatnya halaman terload. Untuk web hoster, akan menaikkan citra terhadap kualitas jasa web hostingnya.
Dalam situs Wikipedia, disana dijelaskan mengenai apa itu Http Compression, yakni:
HTTP compression is a capability that can be built into web servers and web clients to make better use of available bandwidth , and provide faster transmission speeds between both. HTTP data is compressed before it is sent from the server: compliant browsers will announce what methods are supported to the server before downloading the correct format; browsers that do not support compliant compression method will download uncompressed data. The most common compression schemas include gzip and deflate, however a full list of available schemas is maintained by IANA. Additionally, third parties develop new methods and include them in their products (e.g. the Google SDCH schema implemented in Google Chrome browser and used on certain Google servers). http://wikipedia.org

Feature kompresi sangat berguna sekali dalam menghemat bandwidth upstream dari webserver kita karena data yang dikirimkan akan dikompress dahulu sebelum dikirim. Ketika bongkahan data sampai di tujuan, client akan meng-uncompressnya untuk kemudian ditampilkan di layar monitor. Feature kompresi ini akan meningkatkan performance, karena ini berarti akan semakin banyak client yang dapat dilayani. Menguntungkan sekali bukan?
Ada dua algoritma kompresi yang sering dipakai, yaitu menggunakan gzip maupun deflate. Dimana keduanya sudah didukung penuh dari sisi server (apache, nginx, cherokee, dan lainnya) maupun dari sisi client (browser: chrome, firefox, safari, dll).

Cara Mengetahui Http Compression Support atau tidak?
Sebelum Anda mengetahui apakah web hosting Anda telah mengaktifkan fitur kompresi ini atau tidak, silahkan saja Anda cek langsung secara realtime dan online dengan menuju http://www.whatsmyip.org/http_compression/ Dalam fitur online tersebut, akan terdeteksi sejumlah kompresi yang bisa Anda lakukan.

HTTP Compression Mod Deflate
Cara mengaktifkan fitur ini sangat mudah, yakni Anda tinggal menambahkan kode berikut ini didalam file .htaccess root direktori web Anda.
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# atau kompress berdasarkan ekstensi file: <files *.html *.php *.css> SetOutputFilter DEFLATE </files>

HTTP Compression Mod Gzip
Tambahkan kode berikut diatas file HTML Anda...
< ?php
ob_start( 'ob_gzhandler' );
?>
atau kode snippet berikut:
< ?php
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
  ob_start("ob_gzhandler");
}
else {
 ob_start();
}
?>
Tambahkan salah satu kode diatas pada bagian teratas file header.php atau manakala Anda menggunakan thema atau template halaman (page template), maka tidak direkomendasikan untuk menyisipkan kode mod_gzip di bagian header.php. Karena akan merusak kompresi. Solusinya adalah dengan menyisipkan kode mod_gzip tersebut pada file index.php, single.php, page.php, archive.php, 404.php, dan search.php, dan JANGAN SISIPKAN pada header.php.

Kesimpulan
Dari dua metode diatas, menurut saya mod gzip terbaik untuk dilakukan. Anda dapat mengecek seberapa besar tingkat kompresi gzip yang telah Anda lakukan dengan mengunjungi website berikut: http://www.gidnetwork.com/tools/gzip-test.php 

Semoga bermanfaat... :)
Download Kumpulan Soal CPNS

0 komentar:

Posting Komentar