Apakah perlu waktu lebih lama untuk mengunduh file yang di-zip daripada file yang tidak di-zip?

13

Saya pernah membaca di suatu tempat bahwa perlu waktu lebih lama untuk mengunduh file zip daripada file tanpa zip dengan ukuran yang sama, karena sifat dari file zip.

Apakah ini benar atau tidak masuk akal?

sunting: saya sedang berbicara tentang lalu lintas HTTP

jao
sumber
1
Atas protokol mana?
innaM
4
Apakah Anda berbicara tentang dua file dengan ukuran yang sama satu di-zip dan satu tidak di-zip (misalnya masing-masing 1MB), atau file yang sama yang dikompresi dan tidak terkompresi (mis. 1MB dan 345KB)?
Toby Allen
Anda harus mempertimbangkan kecepatan unduh, bukan waktu. Dalam kedua kasus, nilainya sama ... pada akhirnya Anda mengunduh sejumlah byte dalam jumlah waktu tertentu. Seperti yang diindikasikan oleh Toby, mengunduh file yang dikompresi membuat Anda mendapatkan lebih banyak data yang tidak terkompresi pada akhirnya, yang secara efektif meningkatkan tingkat unduhan yang tidak terkompresi.
KFro

Jawaban:

21

Ketika koneksi menggunakan kompresi , maka tentu saja.

Anda tidak dapat mengompres data secara efisien 2 kali. Jadi ketika kompresi dihidupkan, file zip 1 MB akan ditransfer lebih lambat daripada file txt 1 MB.

NB: Ini tergantung pada protokol transfer. FTP atau protokol lain tidak memiliki kompresi bawaan. HTTP memiliki.

Christopher
sumber
Biasanya hanya sedikit sekalipun. Anda tidak boleh gzip mp3, jpg atau zip.
Rich Bradshaw
1
Ini dapat dikonfigurasi untuk jenis yang dikompres. Jadi tergantung administrator web-server untuk mengaktifkan kompresi terlebih dahulu dan kemudian menonaktifkan kompresi untuk tipe-tipe terkenal.
Christopher
Apakah akan mentransfer lebih lambat (lebih lambat di atas pipa) atau akan butuh waktu lebih lama untuk mengunduh karena server membakar siklus zipping ulang (lebih lambat ke pipa)? Titik rewel karena hasil akhirnya masih lebih lambat diunduh.
MrChrister
3
Ini bukan pertanyaan tentang berapa lama waktu yang dibutuhkan untuk mengompres / mendekompresi data, karena dalam kebanyakan kasus koneksi adalah bottleneck. Kompresi http dilakukan pada transfer dan bukan pada file itu sendiri, sehingga latensi hanya meningkat dengan latensi mengompresi transfer dan bukan keseluruhan file. Sebenarnya tidak ada kerugian untuk mengaktifkan kompresi http selain penggunaan cpu yang terlalu tinggi di server. Di sisi lain, semua admin server harus menonaktifkan kompresi untuk transfer jenis file yang tidak kompres dengan sangat baik.
Christopher
11

Itu tidak benar jika Anda mengunduh melalui FTP standar atau HTTP. Untuk jenis koneksi lain, lihat jawaban Christopher .

Dengan asumsi koneksi yang sama kecepatan unduhan ditentukan oleh ukuran file.

Mungkin ada penundaan di akhir pengunduhan jika Anda mengaktifkan pemeriksaan virus otomatis karena harus membuka dan membongkar file zip untuk memeriksa konten daripada dapat memeriksa file secara langsung.

ChrisF
sumber
2
Tidak jika kompresi digunakan pada saluran (lihat jawaban @ Christopher).
fretje
2

Jika Anda menggunakan koneksi PPP (dial-up atau VPN) dengan kompresi, file zip dapat mengunduh dengan kecepatan lebih rendah daripada file teks karena sifatnya (yang sebelumnya telah dikompresi dan yang terakhir akan dikompresi oleh protokol sehingga meningkatkan kecepatan yang diukur) .

Tetapi jika Anda membandingkan jumlah informasi yang Anda terima, mengunduh file zip akan tetap lebih efisien karena setiap pengarsipan file biasanya lebih unggul daripada kompresi link-layer. Jadi file teks zip akan diunduh lebih cepat daripada file teks yang sama kata demi kata, bahkan jika kompresi sedikit meningkatkan kecepatan unduh.

Bender
sumber
0

Anda harus memperhatikan bahwa tidak ada perbedaan dalam protokol HTTP karena di server dan di router mereka menggunakan GZIP untuk paket zip dan kemudian mengirimkannya jika Anda zip atau non mereka bertindak sama.

Am1rr3zA
sumber
0

Seperti yang telah disebutkan, lalu lintas HTTP dapat dikompresi, tetapi tidak selalu.

Anda mungkin telah membaca ini pada saat orang menggunakan modem ponsel alih-alih modem adsl / kabel. Dalam situasi ini, teks dikompresi sebelum mengirim atau menerima, sehingga file teks Anda akan dikirim lebih cepat.

seanyboy
sumber
2
Beberapa dari kita masih menggunakan modem telepon untuk akses Internet. :-)
Brian Knoblauch
0

Tidak yakin apakah ini terkait atau tidak, tetapi jika Anda mengunduh satu file zip (zip tanpa kompresi), ini lebih cepat daripada mengunduh paket yang sama dengan banyak file (unzip), karena diperlukan permintaan overhead HTTP sebelum mulai mengunduh setiap file individual.

Hasen
sumber
0

Jawaban Praktis: tujuan membuat zip file Anda adalah untuk membuatnya lebih mudah untuk dibagikan (iedownload) dengan orang lain. Zip berfungsi dengan kompresi, yang berarti 'menyusut file' dalam bahasa Inggris yang umum.

Perangkat lunak komputer tidak sempurna, dan mungkin ada kasus tepi aneh di mana zip file akan membuatnya sedikit lebih besar dan lebih sulit untuk dibagikan. Menemukan kasus tepi ini di mana kegagalan zip mungkin akan membuat Anda menangis dan tidak sepadan dengan waktu Anda.

Jawaban Hipotetis: Sangat rumit. Jawabannya tergantung pada program zip, protokol transmisi, ukuran file, tipe file, bahkan mungkin tipe browser atau perangkat lunak antivirus yang berjalan di komputer klien. Dengan kata lain, "itu tergantung."

CDeanMartin
sumber
-2

Jawabannya sebenarnya "tergantung": Tergantung pada format yang dipilih server web untuk mengirim file.

Jika server menghasilkan jawaban dengan byte as-is biner, maka file zip dan zip yang berukuran sama akan diunduh dalam kecepatan yang sama.

Jika server menghasilkan respons dalam pengkodean Base64, maka itu meningkatkan jumlah byte dan file zip akan membutuhkan waktu lebih lama untuk diunduh. Sebagian besar server web modern tidak melakukan hal itu lagi, meskipun dulu cukup lazim beberapa tahun yang lalu.

Untuk menjelaskan, format base64 adalah aliran karakter yang dapat ditampilkan 6-bit. Itu berarti, misalnya, bahwa 6 byte biner, yang 6 * 8 = 48 bit, dikodekan sebagai 48/6 = 8 karakter. Secara umum, untuk n byte biner, jumlah karakter base64 yang dikirim adalah (n * 8) / 6. Jadi pengiriman n biner byte lebih lambat daripada mengirim n teks byte dengan 33% (8 dibagi 6), karena lebih banyak karakter terkirim.

harrymc
sumber
1
Itu berlaku untuk pesan email, tetapi tidak berlaku untuk semua protokol lain.
Brian Knoblauch
Itu memang berlaku untuk http, yang merupakan pertanyaan. Pengunduhan http menggunakan pengodean multi-bagian di base64
harrymc
1
Saya agak meragukan ini, apakah Anda punya referensi untuk mendukungnya?
Hasen
1
Tidak, http umumnya tidak base64 menyandikan file biner. Ada jenis pantomim untuk menyatakan kasus itu, tetapi umumnya hanya digunakan untuk email di mana ada harapan bahwa "paket" (pesan email) pada suatu titik akan melewati koneksi yang tidak bersih 8-bit. Protokol TCP / IP di mana HTTP terletak dijamin 8-bit bersih dan konten encoding mime hanya akan membuang-buang bandwidth.
RBerteig
1
Server yang mengirim file dapat memilih di antara beberapa format. Jawaban saya terkait dengan survei yang saya lakukan sekitar 5 tahun yang lalu. Pada saat itu, beberapa situs menghasilkan respons unduhan multi-bagian dengan Content-Transfer-Encoding (berbeda dari tipe mime). Menurut pemeriksaan cepat, ini tidak lagi terjadi, dan pada kenyataannya saran RFC terbaru terhadap penggunaan Content-Transfer-Encoding dalam tanggapan http. Jadi saya percaya bahwa jawaban sebenarnya untuk OP adalah: perhitungan di atas dulu di masa lalu untuk beberapa situs web, tetapi sekarang sangat jarang. Namun, itu bukan mitos urban.
harrymc