Wie unterschiedlich ist das Herunterladen einer Datei vom Zugriff auf eine Webseite?

4

Ich frage, weil ich hier Download-Geschwindigkeiten habe, die 1 MBit / s entsprechen, während das Laden der Webseiten sehr lange dauert (definitiv nicht 1 MBit / s).

Ich vermute, dass der Zugriff auf eine Webseite im Grunde genommen eine Anforderung von einem Server ist, die Seite dann in gewisser Weise "herunterzuladen" und dann zu rendern.

Liege ich falsch? Was kann der Grund sein, warum ich so unterschiedliche Download- und Webseitengeschwindigkeiten habe?

Laser
quelle
Es ist interessant, so viele Ansichten und Aufwertungen der Antworten und so wenige Aufwertungen der Frage selbst zu sehen ;-) +1, um eine interessante Diskussion anzustoßen!
Ivo Flipse

Antworten:

2

Einige Webseiten enthalten viele einzelne Komponenten, die alle separat heruntergeladen werden müssen. Ihr Browser übernimmt all dies für Sie, jedoch häufig mit verminderter Leistung, da viele verschiedene Verbindungen hergestellt werden müssen und wahrscheinlich einige warten müssen, bis andere fertig sind. Darüber hinaus enthalten Webseiten häufig Daten von verschiedenen Servern (die Werbung stammt wahrscheinlich von ihrem eigenen Server), und eine Verzögerung für ein Element kann das Ganze verlangsamen. Eine Datei ist ein einfacher Download einer Datei von einem Ort.

Daher ist die Bandbreite (die Datenmenge, die Sie in Zeiteinheiten herunterladen können) beim Herunterladen von Dateien sehr wichtig. Die Latenz (die zusätzliche Zeit) spielt im Web eine viel größere Rolle.

David Thornley
quelle
1
Dann wäre es nicht besser, wenn wir die Webseite (alle ihre Komponenten - einschließlich Bilder usw.) auf einmal herunterladen und dann rendern könnten. Dies erspart die Anzahl der Anfragen, die für die verschiedenen Komponenten gestellt werden müssen, und ist daher schneller. Wäre es nicht so?
Lazer
1
Es würde aber nicht so funktionieren wie das Internet. Wenn ja, müssten Sie alle Ihre Bilder usw. einbinden. Jedes Bild ist eine separate Anfrage an einen Server. Wenn Sie alle Ihre Bilder mit einem Inlining versehen, bedeutet dies, dass Sie alle Seiten ändern müssen, wenn Sie ein Bild ändern möchten, das auf vielen verschiedenen Seiten verwendet wird.
Drew
@Drew ja, richtig, ich verstehe das jetzt.
Lazer
5

Dies kann durch eine der folgenden Ursachen verursacht werden:

  • Der Server ist langsam.
  • Der Server hat eine langsame Verbindung.
  • Ihr Computer ist langsam. Das Rendern nimmt ebenfalls Zeit in Anspruch.
  • Die Verbindung ermöglicht zwar 1 Mbit / s Datenverkehr, weist jedoch eine hohe Latenz auf. Vergleichen Sie dies mit einem Schiff. Sie können eine Menge Zeug in ein Schiff laden, aber es wird lange dauern, bis es sein Ziel erreicht.
Bart van Heukelom
quelle
Ihr Vergleich ist verwirrend. 1Mb / s bedeutet die Datenmenge pro eingestellter Zeitspanne. Im Wesentlichen ist es ein Schiff, das 1 MB Fracht aufnehmen und in 1 Sekunde an sein Ziel gelangen kann. Warum sollte es langsamer sein?
Giffyguy
2
Angenommen, ich stelle 1 MB Daten in einer Sekunde ins Internet. Danach haben die Daten das Ziel noch nicht erreicht. Es muss zuerst eine Menge Kabel, Router und andere Dinge passieren. Genau wie ein Schiff durch einen ganzen Ozean pflügen muss. Vergleichen Sie das Kabel mit einem Versandweg. Ich könnte jede Sekunde ein Schiff mit einer Last von 1 MB darauf setzen. Das heißt nicht, dass das zweite Schiff, wenn ich es wegschicke, sein Ziel bereits erreicht hat. Es ist diese Latenz, die Sie bekommen, wenn Sie einen Ping-Befehl ausführen.
Bart van Heukelom
[@Bart van Heukelom] Ich glaube, ich verstehe Ihren Vergleich (er erklärt die Latenz), aber er erklärt immer noch nicht den Unterschied in der Geschwindigkeit, den ich erhalte. Macht es?
Lazer
Es tut. Das Laden einer sehr kleinen Webseite kann bei hoher Latenz noch lange dauern. Das Senden eines fast leeren Schiffes dauert genauso lange wie das Senden eines voll beladenen Schiffes (wenn wir ignorieren, dass das beladene Schiff mehr Motorleistung benötigt: p)
Bart van Heukelom
Gibt es also einen Unterschied in der tatsächlichen Geschwindigkeit, die Sie erhalten, oder stützen Sie sich nur auf die Geschwindigkeit, die Ihnen Ihr ISP bietet?
Josh Hunt
3

Es ist wichtig zu verstehen, wie eine Webseite heruntergeladen wird, um zu verstehen, warum das Herunterladen einer 1-MB-Datei möglicherweise schneller als 256 KB einer Website ist.

  1. Wenn auf dem Webserver eine GZIP-Komprimierung für HTML / JavaScript / etc. Vorhanden ist. (höchstwahrscheinlich) Ihr Browser lädt komprimierte Inhalte herunter und muss sie anschließend dekomprimieren.
  2. Bilder können nur 30-40k groß sein, aber decodiert können sie viele Megabyte im Speicher betragen
  3. Wenn die Website über mehrere externe Dateien (CSS / JavaScript / Images) verfügt, kann jede dieser Dateien als Teil Ihres Browsers, der die Seite erstellt, über eine separate Verbindung heruntergeladen werden
  4. Das Herunterladen einer Datei ist eine grundlegende, optimierte Operation in HTTP / FTP. Es ist kein Inhalt zu erkennen und zu rendern
Nissan Fan
quelle
Ich hätte nie gedacht, dass Dekomprimierung und Dekodierung durchgeführt werden müssen ...
Lazer
2

Noch nicht erwähnt - es gibt heutzutage weit mehr zu einem typischen Download einer Webseite als den Text, den Sie in Ihrem Browser sehen. Wenn die Seite, die Sie besuchen, bearbeitet werden kann, enthält sie wahrscheinlich eine Menge Code, um dies zu handhaben. TinyMCE ist ein beliebter Javascript "Rich Text" Editor für das Web. Es ist winzig, aber nicht so winzig.

TinyMCE

Dies ist nur ein Beispiel, aber diese Art von Dingen lässt alle Arten von Webseiten aufblähen und kann dazu führen, dass Ihre Browser-Erfahrung nicht den Erwartungen entspricht. Abhängig von der Person, die die Webseite oder die Webanwendung erstellt, können Sie möglicherweise eine solche App herunterladen, unabhängig davon, ob Sie sie jemals verwenden oder nicht . Es wird nur in den Speicher geladen und wartet.

Ein weiterer Aspekt ist psychologisch. Wenn Sie eine Datei zum Herunterladen auswählen, müssen Sie mit dem Eintreffen der Datei warten. Wenn Sie auf einen Link zu einer Seite klicken, neigen Sie eher dazu, sofortige Befriedigung zu erwarten. Obwohl ich nicht sage, dass alles in Ihrem Kopf liegt, gibt es dort definitiv eine Erwartung.

DaveParillo
quelle
@ DaveParillo das ist auch etwas, was ich nicht weiß. Ich hatte eine Idee, du hast sie bestätigt.
Lazer
1

Bei einem Download wird die Verbindung zu Beginn der Dateiübertragung ausgehandelt, und Ihre Geschwindigkeit nimmt den normalen Wert an. Dieser Teil der Dateiübertragung ist langsam (wie Sie manchmal in der Statusleiste Ihres Webbrowsers sehen können .. Senden einer Anfrage an [Site] ... Warten auf Antwort von [Site] und es dauert eine Weile). Jedes Mal, wenn Sie eine Webseite anfordern, wird dieselbe Aushandlung fortgesetzt. Es kann auch sein, dass der Server auf Anforderungen aufgrund des Ladevorgangs nur langsam reagiert oder Ihr Browser Daten nur langsam wiedergibt.

John T
quelle
das macht Sinn.
Lazer
0

Sie haben nicht angegeben, welchen Browser Sie verwenden und welche Art von Internetverbindung Sie haben.

Wenn die Internetverbindung z. Satellitenverbindung, es hat eine hohe Download-Bandbreite und eine sehr langsame Upload-Bandbreite und eine hohe Latenz. Ähnliches gilt für 3G / HSDPA-Mobilfunkverbindungen, obwohl die Latenz geringer ist als bei Satellitenverbindungen, aber im Vergleich zu ADSL oder Kabelmodem häufig immer noch 10-30-fach ist.

Dies kann noch verschlimmert werden, wenn Sie einen schlechten Browser wie den Internet Explorer verwenden, der beim Herunterladen der Dateien vom Webserver nur 2-3 gleichzeitige Verbindungen öffnet. Bei Verbindungen vom Typ Mobiltelefon, einer HTTP-Verbindung, die den 3-Wege-TCP / IP-Handshake ausführt, kann es fast eine Sekunde dauern, bis eine einzelne Datei heruntergeladen wird. Kombinieren Sie dies jetzt mit nur wenigen gleichzeitigen Verbindungen vom Browser aus, und es dauert plötzlich zehn Sekunden, um eine kleine Webseite herunterzuladen, mit der mehrere Bilder, Stylesheets und Javascripts verknüpft sind.

Ich benutze Opera, mit dem ich die gleichzeitigen Verbindungen auf eine sehr hohe Zahl einstellen kann, z. B. 32 oder mehr. Dies bedeutet, dass der Browser beim Öffnen einer Website über einen Link mit hoher Latenz einige Sekunden benötigt, um die Handshakes mit dem Server auszuführen, und dann 32 Elemente gleichzeitig herunterlädt. Häufig kann er die Download-Bandbreite maximal ausnutzen, die bei einem einmaligen Download des Browsers niemals auftreten würde. wenige Dateien gleichzeitig.

Der Geschwindigkeitsunterschied kann auch auftreten, wenn Ihr Computer langsam ist oder nicht über genügend Arbeitsspeicher verfügt und der Browser den Computer dann blockieren kann, während die Seite gerendert wird. Dies kann vermieden werden, indem Sie einen schnelleren / leichteren Browser wie Opera verwenden oder den Browser so einstellen, dass keine Seite gerendert wird, bis alle erforderlichen Elemente heruntergeladen wurden. Heutzutage versuchen Browser, die Seite so schnell wie möglich zu rendern, was normalerweise dazu führt, dass sie die Seite mehrmals rendern. Dies kann auf einem älteren Computer langsam sein.

Raynet
quelle
@Raynet Windows Vista, Firefox 3.5, Speicher ist kein Problem (3 GB), meine Verbindung ist eine Standleitung, die von ungefähr 300 Personen gemeinsam genutzt wird.
Lazer