Dauert das Herunterladen einer komprimierten Datei länger als das Herunterladen einer komprimierten Datei?


13

Ich habe einmal irgendwo gelesen, dass das Herunterladen einer gezippten Datei länger dauert als eine entpackte Datei der gleichen Größe, da es sich um eine ZIP-Datei handelt.

Ist das wahr oder Unsinn?

Bearbeiten: Ich spreche über HTTP-Verkehr


1
Über welches Protokoll?
23.

4
Handelt es sich um zwei Dateien gleicher Größe, eine komprimierte und eine dekomprimierte (z. B. jeweils 1 MB), oder um dieselbe komprimierte und unkomprimierte Datei (z. B. 1 MB und 345 KB)?
Toby Allen

Sie sollten die Download-Rate berücksichtigen, nicht die Zeit. In beiden Fällen ist die Rate gleich ... am Ende haben Sie eine begrenzte Anzahl von Bytes in einem bestimmten Zeitraum heruntergeladen. Wie Toby andeutet, werden beim Herunterladen komprimierter Dateien am Ende mehr Daten dekomprimiert, wodurch sich die Rate des unkomprimierten Herunterladens effektiv erhöht.
KFro

Antworten:


21

Wenn die Verbindung Komprimierung verwendet , dann natürlich.

Sie können Daten nicht zweimal effizient komprimieren. Wenn also die Komprimierung aktiviert ist, wird eine 1-MB-ZIP-Datei langsamer übertragen als eine 1-MB-TXT-Datei.

Hinweis: Dies hängt vom Übertragungsprotokoll ab. FTP oder andere Protokolle haben keine eingebaute Komprimierung. HTTP hat.


Meist nur wenig. Sie sollten keine MP3-, JPG- oder ZIP-Dateien zippen.
Rich Bradshaw

1
Es ist konfigurierbar, für welche Typen komprimiert werden soll. Es ist also Sache des Webserver-Administrators, zuerst die Komprimierung zu aktivieren und dann die Komprimierung für bekannte Typen zu deaktivieren.
Christopher

Überträgt es langsamer (langsamer über die Pipe) oder dauert der Download länger, weil der Server die Zyklen erneut gezippt hat (langsamer zur Pipe)? Ein Punkt, bei dem es sich nicht um ein Problem handelt, da das Endergebnis immer noch ein langsamerer Download ist.
MrChrister

3
Dies ist keine Frage der Zeit, die zum Komprimieren / Dekomprimieren der Daten benötigt wird, da in den meisten Fällen die Verbindung der Engpass ist. Die http-Komprimierung erfolgt für die Übertragungen und nicht für die Datei selbst, sodass die Latenz nur durch die Latenz der Komprimierung der Übertragung und nicht für die gesamte Datei erhöht wird. Es gibt wirklich keinen Nachteil, wenn Sie die HTTP-Komprimierung aktivieren, es sei denn, die CPU-Auslastung auf dem Server ist zu hoch. Auf der anderen Seite sollten alle Serveradministratoren die Komprimierung für Übertragungen von Dateitypen deaktivieren, die nicht sehr gut komprimiert sind.
Christopher

11

Es ist nicht wahr, wenn Sie über Standard-FTP oder HTTP herunterladen. Für andere Verbindungstypen siehe Christophers Antwort .

Bei gleicher Verbindung richtet sich die Downloadgeschwindigkeit nach der Größe der Datei.

Wenn Sie die automatische Virenprüfung aktiviert haben, kann es am Ende des Downloads zu Verzögerungen kommen, da die ZIP-Datei geöffnet und entpackt werden muss, um den Inhalt zu überprüfen, anstatt die Datei direkt überprüfen zu können.


2
Nicht, wenn für den Kanal Komprimierung verwendet wird (siehe @Christophers Antwort).
Freitag,

2

Wenn Sie eine PPP-Verbindung (DFÜ oder VPN) mit Komprimierung verwenden, werden komprimierte Dateien aufgrund ihrer Art möglicherweise langsamer heruntergeladen als Textdateien (erstere sind bereits komprimiert und letztere werden vom Protokoll komprimiert, wodurch die gemessene Geschwindigkeit erhöht wird). .

Wenn Sie jedoch die Menge der Informationen vergleichen, die Sie erhalten, ist das Herunterladen von komprimierten Dateien immer noch effizienter, da jeder Dateiarchivierer in der Regel der Komprimierung auf Verknüpfungsebene überlegen ist. So wird eine gezippte Textdatei wörtlich schneller als dieselbe Textdatei heruntergeladen, auch wenn die Komprimierung die Download-Geschwindigkeit ein wenig erhöht.


0

Sie müssen bemerken, dass es keinen Unterschied im HTTP-Protokoll gibt, da im Server und im Router GZIP verwendet wird, um das Paket zu komprimieren und dann zu senden, wenn Sie eine Komprimierung durchführen oder nicht.


0

Wie bereits erwähnt, kann HTTP-Datenverkehr komprimiert werden, dies ist jedoch nicht immer der Fall.

Möglicherweise haben Sie dies zu einem Zeitpunkt gelesen, als Telefonmodems anstelle von ADSL- / Kabelmodems verwendet wurden. In dieser Situation wurde der Text vor dem Senden oder Empfangen komprimiert, sodass Ihre Textdatei schneller gesendet worden wäre.


2
Einige von uns verwenden immer noch Telefonmodems für den Internetzugang. :-)
Brian Knoblauch

0

Wir sind uns nicht sicher, ob dies zusammenhängt oder nicht. Wenn Sie jedoch eine komprimierte Datei herunterladen (ohne Komprimierung), ist dies schneller als das Herunterladen desselben Pakets mit mehreren (dekomprimierten) Dateien, da vor dem Herunterladen jeder einzelnen Datei ein zusätzlicher HTTP-Request erforderlich ist.


0

Praktische Antwort: Der Zweck des Komprimierens Ihrer Dateien besteht darin, die Freigabe (iedownload) für andere Personen zu vereinfachen. Das Komprimieren von Dateien erfolgt durch Komprimierung, dh das Verkleinern von Dateien in allgemeinem Englisch.

Computer-Software ist nicht perfekt, und es kann komische Randfälle geben, in denen das Komprimieren einer Datei sie etwas größer und schwerer zu teilen macht. Das Auffinden dieser Randfälle, in denen das Zippen fehlschlägt, wird Sie wahrscheinlich weinen lassen und ist Ihre Zeit nicht wert.

Hypothetische Antwort: Es ist sehr kompliziert. Die Antwort hängt vom ZIP-Programm, den Übertragungsprotokollen, der Dateigröße, dem Dateityp und möglicherweise sogar vom Browsertyp oder der auf dem Client-Computer ausgeführten Antivirensoftware ab. Mit anderen Worten: "Es kommt darauf an."


-2

Die Antwort lautet tatsächlich "es kommt darauf an": Abhängig vom Format, in dem der Webserver die Datei sendet.

Wenn der Server die Antwort mit binären Ist-Bytes generiert, werden komprimierte und dekomprimierte Dateien gleicher Größe mit derselben Geschwindigkeit heruntergeladen.

Wenn der Server eine Antwort in Base64-Codierung generiert, erhöht sich die Anzahl der Bytes, und das Herunterladen der komprimierten Datei dauert länger. Die meisten modernen Webserver machen das nicht mehr, obwohl es vor ein paar Jahren ziemlich verbreitet war.

Das base64-Format ist ein Stream von 6-Bit-Zeichen, die angezeigt werden können. Dies bedeutet beispielsweise, dass 6 Binärbytes, dh 6 × 8 = 48 Bits, als 48/6 = 8 Zeichen codiert werden. Im Allgemeinen beträgt die Anzahl der gesendeten Base64-Zeichen für n Binärbytes (n * 8) / 6. Das Senden von n Binärbytes ist daher um 33% langsamer als das Senden von n Textbytes (8 geteilt durch 6), da mehr Zeichen gesendet werden sind gesendet.


1
Dies gilt für E-Mail-Nachrichten, jedoch nicht für alle anderen Protokolle.
Brian Knoblauch

Es gilt für http, was die Frage war. http-Download verwendet mehrteilige Codierung in base64
harrymc

1
Ich bezweifle das irgendwie. Haben Sie einen Hinweis darauf?
Hasen

1
Nein, http verschlüsselt im Allgemeinen keine binären Dateien mit base64. Es gibt einen MIME-Typ, um diesen Fall zu deklarieren, aber er wird im Allgemeinen nur für E-Mails verwendet, bei denen zu erwarten ist, dass das "Paket" (die E-Mail-Nachricht) irgendwann eine Verbindung durchläuft, die nicht 8-Bit-sauber ist. Das TCP / IP-Protokoll, auf dem HTTP basiert, ist garantiert 8-Bit-sauber, und MIME-Codierungsinhalte würden nur Bandbreite verschwenden.
RBerteig

1
Der Server, der die Datei sendet, kann zwischen verschiedenen Formaten wählen. Meine Antwort bezog sich auf eine Umfrage, die ich vor ungefähr 5 Jahren durchgeführt habe. Zu dieser Zeit generierten einige Websites mehrteilige Download-Antworten mit Content-Transfer-Encoding (im Gegensatz zum MIME-Typ). Laut einer kurzen Überprüfung ist dies nicht mehr der Fall, und die neuesten RFCs raten sogar davon ab, Content-Transfer-Encoding in http-Antworten zu verwenden. Daher glaube ich, dass die eigentliche Antwort auf das OP lautet: Die obige Berechnung war in der Vergangenheit für einige Websites der Fall, ist jetzt aber eher selten. Es ist jedoch kein urbaner Mythos.
Harrymc
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.