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
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
Antworten:
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.
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.
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.
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.
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.
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."
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.