Apa kelebihan yang ditawarkan metode baik untuk file html, css dan javascript yang dilayani oleh server LAMP. Apakah ada alternatif yang lebih baik?
Server memberikan informasi ke aplikasi peta menggunakan Json, sehingga volume tinggi file kecil.
Lihat juga Apakah ada kinerja yang terlibat dalam memilih gzip atas deflate untuk kompresi http?
Jawaban:
Jawaban sederhananya adalah jangan .
RFC 2616 mendefinisikan deflate sebagai:
Format zlib didefinisikan dalam RFC 1950 sebagai:
Jadi, beberapa header dan sebuah checksum ADLER32
RFC 2616 mendefinisikan gzip sebagai:
RFC 1952 mendefinisikan data terkompresi sebagai:
CRC-32 lebih lambat dari ADLER32
Jadi ... kami memiliki 2 mekanisme kompresi yang menggunakan algoritma yang sama untuk kompresi, tetapi algoritma yang berbeda untuk header dan checksum.
Sekarang, paket TCP yang mendasarinya sudah cukup andal , jadi masalahnya di sini bukan Adler 32 vs CRC-32 yang digunakan GZIP.
Ternyata banyak browser selama bertahun-tahun menerapkan algoritma deflate yang salah. Alih-alih mengharapkan header zlib di RFC 1950 mereka hanya mengharapkan payload terkompresi. Demikian pula berbagai server web membuat kesalahan yang sama.
Jadi, selama bertahun-tahun browser mulai menerapkan implementasi fuzzy logic deflate, mereka mencoba zlib header dan adler checksum, jika gagal mereka mencoba payload.
Hasil dari memiliki logika yang kompleks seperti itu adalah sering rusak. Verve Studio memiliki bagian uji kontribusi pengguna yang menunjukkan seberapa buruk situasinya.
Sebagai contoh: deflate bekerja di Safari 4.0 tetapi rusak di Safari 5.1, ia juga selalu memiliki masalah pada IE.
Jadi, hal terbaik yang harus dilakukan adalah menghindari mengempis sama sekali, dorongan kecepatan minor (karena adler 32) tidak sebanding dengan risiko rusaknya muatan.
sumber
GZip hanya mengempis ditambah checksum dan header / footer. Mengempis lebih cepat , karena saya belajar dengan cara yang sulit.
sumber
Anda kemungkinan tidak dapat memilih deflate sebagai opsi. Bertentangan dengan apa yang Anda harapkan mod_deflate tidak menggunakan deflate tetapi gzip. Jadi, sementara sebagian besar poin yang dibuat valid, kemungkinan besar tidak relevan untuk sebagian besar.
sumber
Saya pikir tidak ada perbedaan besar antara deflate dan gzip, karena gzip pada dasarnya hanyalah sebuah header yang dililitkan deflate (lihat RFCs 1951 dan 1952).
sumber
Alasan utamanya adalah deflate lebih cepat untuk dikodekan daripada gzip dan pada server yang sibuk yang mungkin membuat perbedaan. Dengan halaman statis, ini adalah pertanyaan yang berbeda, karena mereka dapat dengan mudah dikompres sekali.
sumber
mod_deflate membutuhkan sumber daya yang lebih sedikit di server Anda, meskipun Anda mungkin membayar penalti kecil dalam hal jumlah kompresi.
Jika Anda menyajikan banyak file kecil, saya akan merekomendasikan benchmark dan memuat pengujian solusi terkompresi dan tidak terkompresi Anda - Anda mungkin menemukan beberapa kasus di mana memungkinkan kompresi tidak akan menghasilkan penghematan.
sumber
Seharusnya tidak ada perbedaan dalam gzip & deflate untuk dekompresi. Gzip hanya mengempis dengan header beberapa lusin byte melilitnya termasuk checksum. Checksum adalah alasan untuk kompresi yang lebih lambat. Namun ketika Anda mengkompres zillions file yang Anda inginkan checksum tersebut sebagai pemeriksaan kewarasan di sistem file Anda. Selain itu, Anda dapat menggunakan alat commandline untuk mendapatkan statistik pada file. Untuk situs kami, kami mengkompres satu ton data statis (seluruh direktori terbuka, 13.000 game, pelengkapan otomatis untuk jutaan kata kunci, dll.) Dan kami peringkat 95% lebih cepat dari semua situs web oleh Alexa. Pencarian Faxo. Namun, kami memanfaatkan server web milik rumah yang dikembangkan. Apache / mod_deflate tidak memotongnya. Ketika file-file tersebut dikompres ke dalam sistem file tidak hanya Anda mengambil hit untuk file Anda dengan ukuran blok sistem file minimum tetapi semua overhead yang tidak perlu dalam mengelola file dalam sistem file yang webserver tidak peduli. Kekhawatiran Anda harus total footprint disk dan waktu akses / dekompresi dan kecepatan kedua untuk mendapatkan data ini terkompresi. Tapak penting karena meskipun ruang disk murah Anda ingin sebanyak mungkin masuk dalam cache.
sumber
Pada Ubuntu dengan Apache2 dan modul deflate sudah terpasang (yang secara default), Anda dapat mengaktifkan
deflategzip kompresi dalam dua langkah mudah:Dan kamu pergi! Saya menemukan halaman yang saya layani melalui koneksi adsl saya dimuat jauh lebih cepat.
Sunting: Sesuai komentar @ GertvandenBerg, ini memungkinkan kompresi gzip, bukan mengempis.
sumber
jika saya ingat dengan benar
sumber