Mengapa minifikasi HTML / Javascript bermanfaat ketika protokol HTTP sudah mendukung kompresi data gzip?
Saya menyadari bahwa Javascript / HTML minification memiliki potensi untuk secara signifikan mengurangi ukuran Javascript / HTML file dengan menghapus spasi yang tidak perlu, dan mungkin mengubah nama variabel untuk beberapa huruf masing-masing, tetapi tidak algoritma LZW lakukan terutama baik ketika ada banyak diulang karakter (mis. banyak spasi kosong?)
Saya menyadari bahwa beberapa alat minifikasi Javascript melakukan lebih dari sekedar mengurangi ukuran. Kompilator penutupan Google, misalnya, juga mencoba untuk meningkatkan kinerja kode dengan menguraikan fungsi dan melakukan analisis lainnya. Tetapi tujuan utama dari minifikasi Javascript biasanya untuk mengurangi ukuran file.
Saya juga menyadari ada alasan lain yang mungkin ingin Anda minimalkan selain performace, seperti kebingungan kode. Tetapi sekali lagi, alasan itu biasanya tidak ditekankan sebanyak kenaikan kinerja dan pengurangan ukuran file. Misalnya, Closure Compiler tidak diiklankan sebagai alat kebingungan, tetapi sebagai peredam ukuran kode dan penambah kecepatan unduh.
Jadi, berapa banyak kinerja yang Anda dapatkan dari Javascript / HTML minification ketika Anda sudah secara signifikan mengurangi ukuran file dengan kompresi gzip?
sumber
Minifikasi + gzip umumnya memberikan hasil yang lebih baik, karena gzip adalah algoritma umum, tidak secara khusus disesuaikan dengan satu input atau lainnya, sedangkan minificator menyadari tentang kontennya dan dapat melakukan pekerjaan yang tidak dapat dilakukan oleh algoritma kompresi umum. Itu bisa menjadi lossy juga (berpikir: sepenuhnya menghilangkan komentar dan spasi putih - itu kompresi 100% untuk data ini, bagaimana Anda bisa mengalahkan itu?), Sementara kompresi umum tidak bisa.
sumber
Anda mungkin tidak mendapatkan terlalu banyak manfaat kinerja tetapi Anda masih akan mengurangi penggunaan bandwidth Anda. Jika Anda dapat mencukur beberapa kb dari file js (dan css) Anda melalui minifikasi (dan penggunaan sprite css untuk mengurangi jumlah permintaan) dan Anda melayani 1000 pengguna sehari, setelah sebulan Anda akan secara signifikan mengurangi bandwidth Anda.
sumber
Satu-satunya hal paling mahal yang Anda lakukan dalam aplikasi web adalah mengirimkan segala sesuatunya. Mengirim lebih sedikit barang hampir selalu merupakan kemenangan bersih jika Anda membayar dalam siklus CPU.
Selain itu, saya tidak memiliki sesuatu yang ilmiah untuk mendukung hal ini, tetapi saya berharap bahwa alat minifikasi mungkin dapat mengompres javascript lebih baik daripada gzip jika tanpa alasan lain selain alat minifikasi spesifik domain dan dapat disesuaikan untuk kompres javascript yang lebih baik sedangkan gzip adalah alat generik dan akan berkompromi ke tengah.
sumber