Sıkıştırılmış bir dosyayı indirmek, sıkıştırılmamış bir dosyadan daha uzun sürebilir mi?


13

Bir keresinde zip dosyasının doğası nedeniyle sıkıştırılmış bir dosyayı aynı boyutta sıkıştırılmamış bir dosyadan daha uzun süre indirmenin daha uzun sürdüğü bir yerde okudum.

Bu doğru mu saçma mı?

edit: HTTP trafiği hakkında konuşuyorum


1
Hangi protokol üzerinden?
innaM

4
Aynı boyutta sıkıştırılmış ve sıkıştırılmamış iki dosyadan (örneğin her 1MB) veya sıkıştırılmış ve sıkıştırılmamış aynı dosyadan mı bahsediyorsunuz (örn. 1MB ve 345KB)?
Toby Allen

İndirme hızını düşünmelisiniz, zamanı değil. Her iki durumda da oran aynıdır ... sonunda belirli bir sürede sınırlı sayıda bayt indirdiniz. Toby'nin ima ettiği gibi, sıkıştırılmış dosyaları indirmek size sıkıştırılmamış indirme hızınızı etkili bir şekilde artıran daha fazla veri sıkıştırmasını sağlar.
KFro

Yanıtlar:


21

Bağlantı sıkıştırma kullanırken , elbette.

Verileri 2 kez etkili bir şekilde sıkıştıramazsınız. Sıkıştırma açıldığında, 1 MB'lık bir zip dosyası daha sonra 1 MB'lık bir txt dosyasından daha yavaş aktarılır.

Not: Bu, aktarım protokolüne bağlıdır. FTP veya diğer protokoller yerleşik sıkıştırmaya sahip değildir. HTTP var.


Genellikle sadece biraz. Mp3, jpg veya fermuarları gzip etmemelisiniz.
Rich Bradshaw

1
Hangi tiplerin sıkıştırılacağı yapılandırılabilir. Bu yüzden önce sıkıştırmayı etkinleştirmek ve daha sonra iyi bilinen türler için sıkıştırmayı devre dışı bırakmak web sunucusu yöneticisine bağlıdır.
Christopher

Daha yavaş aktarır mı (boru üzerinden daha yavaş) veya sunucu yanmış döngüler yeniden sıkıştırıldığından (boruya daha yavaştır) indirilmesi daha uzun sürer mi? Nit-seçici bir nokta çünkü sonuç hala daha yavaş bir indirme.
MrChrister

3
Bu, verilerin sıkıştırılmasının / sıkıştırılmasının ne kadar sürdüğü sorusu değildir, çünkü çoğu durumda bağlantı darboğazdır. Http sıkıştırması dosyanın kendisi değil aktarımlar üzerinde yapılır, bu nedenle gecikme yalnızca aktarımın sıkıştırılma gecikmesi ile artar, tüm dosyayı değil. Sunucuda çok yüksek işlemci kullanımı dışında http sıkıştırmayı etkinleştirmenin dezavantajı yoktur. Diğer tarafta, tüm sunucu yöneticileri çok iyi sıkıştırılmayan dosya türlerinin aktarımı için sıkıştırmayı devre dışı bırakmalıdır.
Christopher

11

Standart FTP veya HTTP ile indiriyorsanız bu doğru değildir. Diğer bağlantı türleri için Christopher'ın cevabına bakınız .

Aynı bağlantı varsayıldığında, indirme hızı dosyanın boyutuna göre belirlenir.

Otomatik virüs kontrolünü etkinleştirdiyseniz, dosyayı doğrudan kontrol etmek yerine içeriği kontrol etmek için zip dosyasını açıp açmanız gerekeceğinden indirme işleminin sonunda bir gecikme olabilir.


2
Kanalda sıkıştırma kullanılıyorsa değil (bkz. @ Christopher'ın cevabı).
fretje

2

Sıkıştırma ile bir PPP (çevirmeli veya VPN) bağlantısı kullanırsanız, sıkıştırılmış dosyalar doğası gereği metin dosyalarından daha düşük hızda indirilebilir (birincisi zaten sıkıştırılır ve ikincisi protokol tarafından sıkıştırılır, böylece ölçülen hızı arttırır) .

Ancak, aldığınız bilgi miktarlarını karşılaştırırsanız, sıkıştırılmış dosyaları indirmek daha verimli olacaktır, çünkü herhangi bir dosya arşivleyicisi genellikle bağlantı katmanı sıkıştırmasından daha üstündür. Sıkıştırılmış indirme hızını biraz artırsa bile, sıkıştırılmış bir metin dosyası aynı metin dosyasından daha hızlı indirilecektir.


0

HTTP protokolünde bir farkının olmadığını fark etmelisiniz, çünkü sunucuda ve yönlendiricide paketi sıkıştırmak için GZIP kullanırlar ve daha sonra zip veya non yaparsanız aynı şekilde gönderirler.


0

Daha önce de belirtildiği gibi, HTTP trafiği sıkıştırılabilir, ancak her zaman değildir.

Bunu, kullanıcıların adsl / kablo modemleri yerine telefon modemleri kullandıkları bir zamanda okumuş olabilirsiniz. Bu durumda, metin gönderilmeden veya alınmadan önce sıkıştırılmıştır, bu nedenle metin dosyanız daha hızlı gönderilirdi.


2
Bazılarımız İnternet erişimi için hala telefon modemleri kullanıyor. :-)
Brian Knoblauch

0

Bunun ilgili olup olmadığından emin değilim, ancak sıkıştırılmış bir dosyayı (sıkıştırılmadan sıkıştırılmış) indirirseniz, her bir dosyayı indirmeye başlamadan önce gerekli HTTP istek yükü nedeniyle birden çok (sıkıştırılmamış) dosya ile aynı paketi indirmekten daha hızlıdır.


0

Pratik Yanıt: Dosyalarınızı sıkıştırmanın amacı, onları başkalarıyla paylaşmayı (iedownload) kolaylaştırmaktır. Sıkıştırma sıkıştırma ile çalışır, bu da yaygın İngilizce'de 'dosyaları küçültmek' anlamına gelir.

Bilgisayar yazılımı mükemmel değildir ve bir dosyayı sıkıştırmanın dosyayı biraz daha büyük ve paylaşmayı zorlaştıracağı garip kenar durumlar olabilir. Sıkıştırmanın başarısız olduğu bu uç durumları bulmak sizi gözyaşlarına boğar ve zamanınıza değmez.

Varsayımsal Cevap: Çok karmaşık. Yanıt zip programına, iletim protokollerine, dosya boyutuna, dosya türüne, hatta istemci bilgisayarda çalışan tarayıcı türüne veya virüsten koruma yazılımına bağlı olacaktır. Başka bir deyişle, "değişir."


-2

Yanıt aslında "bağlıdır": Web sunucusunun dosyayı göndermeyi seçtiği biçime bağlı olarak.

Sunucu yanıtı ikili bayt ile oluşturuyorsa, eşit boyutlu sıkıştırılmış ve sıkıştırılmamış dosyalar aynı hızda indirilir.

Sunucu Base64 kodlamasında bir yanıt oluşturursa, bayt sayısını artırır ve sıkıştırılmış dosyanın indirilmesi daha uzun sürer. Modern web sunucularının çoğu bunu yapmaz, ancak birkaç yıl önce oldukça yaygındı.

Açıklamak gerekirse, base64 formatı 6-bit görüntülenebilir karakterlerin akışıdır. Bu, örneğin, 6 * 8 = 48 bit olan 6 ikili baytın 48/6 = 8 karakter olarak kodlandığı anlamına gelir. Genel olarak, n ikili bayt için gönderilen base64 karakter sayısı (n * 8) / 6'dır. Bu nedenle n ikili bayt göndermek, n ​​metin baytını% 33 (8'e 6'ya böler) göndermekten daha yavaştır, çünkü daha fazla karakter gönderilir.


1
Bu, e-posta mesajları için geçerlidir, ancak diğer tüm protokoller için geçerli değildir.
Brian Knoblauch

Soru http için geçerli. http download base64'te çok parçalı kodlama kullanır
harrymc

1
Bundan şüphe ediyorum, yedeklemek için referans var mı?
hasen

1
Hayır, http genellikle bin64 dosyalarını kodlamaz. Bu durumu bildirmek için bir mim türü vardır, ancak genellikle yalnızca "paket" in (e-posta mesajı) bir noktada 8 bitlik temiz olmayan bir bağlantıdan geçeceği beklentisi olan e-posta için kullanılır. HTTP'nin bulunduğu TCP / IP protokolünün 8 bit temiz olduğu garanti edilir ve mime kodlama içeriği yalnızca bant genişliğini boşa harcar.
RBerteig

1
Dosyayı gönderen sunucu çeşitli formatlar arasından seçim yapabilir. Cevabım yaklaşık 5 yıl önce yaptığım bir anketle ilgili. O zaman, oldukça az sayıda site, Content-Transfer-Encoding (mime türünden farklı olarak) ile çok parçalı indirme yanıtları üretiyordu. Hızlı bir kontrole göre, bu artık geçerli değil ve aslında en son RFC'lerin http yanıtlarında Content-Transfer-Encoding kullanımına karşı tavsiyeleri var. Bu yüzden OP'nin gerçek cevabının şu olduğuna inanıyorum: yukarıdaki hesaplama geçmişte bazı web siteleri için geçerliydi, ancak şimdi oldukça nadir. Ancak, bu bir şehir efsanesi değildir.
harrymc 24
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.