ini yang saya tahu. silahkan ditambahkan atau diperbaiki bila ada yang salah
- "cache-control"/"gzip" di apache bisa tengok (nyontek) di
HTML5BoilerPlate .htaccess
- untuk subdomain CDN (paralel download), gambaran sederhananya seperti ini:
misalnya dalam 1 halaman terdapat 10 file statik, mis.:
Code:
#1. /theme/css/default.css
#2. /theme/css/kustom.css
#3. /theme/js/jquery.js
#4. /theme/js/aplikasi.js
#5. /theme/images/background.jpg
#6. /theme/images/icon.png
#7. /theme/images/gambar1.jpg
#8. /theme/images/gambar2.jpg
#9. /theme/images/gambar3.jpg
#10. /theme/images/gambar4.jpg
lalu ada user membuka menggunakan browser chrome, maka (menurut
referensi browserscope), user akan men-download 6 file sekaligus (secara paralel). sedangkan yang 4 sisanya akan menunggu (terkena delay/queue) sampai ada yang selesai ter-download.
untuk mengakalinya, ya dengan memecah (menempatkan) file-file tersebut dalam subdomain terpisah (dummy CDN).
* catatan (CMIIW):
sifat alami javascript (baik inline ataupun file), adalah "
blocking"
artinya seluruh resource atau elemen yang terdapat dibawah/setelah javascript, tidak akan dibaca oleh browser hingga javascript tersebut selesai di-load (download) - mengakalinya, dengan membuatnya "asynchronous" (keyword: "javascript AMD")
bahan bacaan:
- Yahoo Tips
- Google Tips
online tools:
- Pingdom (lihat di "waterfall" untuk mencari tahu bottleneck)
- GTMetrix (lihat di "timeline" untuk mencari tahu bottleneck)
- WhichLoadsFaster (buat fun, ngadu cepat sama website lain... lol)