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


Ich frage, weil ich hier Download-Geschwindigkeiten habe, die wie 1MBps sind, während die Webseiten eine sehr lange Zeit zum Laden brauchen (definitiv nicht 1MBps).

Ich schätze, dass der Zugriff auf eine Webseite grundsätzlich von einem Server angefordert wird und dann auf eine Art und Weise die Seite heruntergeladen und dann gerendert wird.

Liege ich falsch? Was kann der Grund sein, dass ich einen so großen Unterschied in der Download- und Webseitengeschwindigkeit habe?


4
2017-10-06 20:46


Ursprung


Interessant, so viele Ansichten und Upvotes zu den Antworten zu sehen und so wenig Upvotes zu der Frage selbst ;-) +1 für eine interessante Diskussion! - Ivo Flipse♦


Antworten:


Einige Webseiten haben viele einzelne Komponenten, die alle einzeln heruntergeladen werden müssen. Ihr Browser übernimmt all dies für Sie, aber oft mit verminderter Leistung, da viele verschiedene Verbindungen hergestellt werden müssen und wahrscheinlich einige warten müssen, bis andere fertig sind. Außerdem haben Webseiten oft Daten von verschiedenen Servern (die Werbung kommt wahrscheinlich von ihrem eigenen Server), und eine Verzögerung für jedes Element kann das Ganze verlangsamen. Eine Datei ist ein einfacher Download einer Datei von einem Ort.

Daher ist die Bandbreite (die Menge der Daten, die Sie in der Zeiteinheit herunterladen können) sehr wichtig beim Herunterladen von Dateien. Latenzzeit (die zusätzliche Zeit) ist im Web viel wichtiger.


2
2017-10-06 21:27



dann wäre es nicht besser, wenn wir die Webseite (alle ihre Komponenten - einschließlich Bilder usw.) auf einmal herunterladen (wie bei einem normalen Download einer einzelnen Datei) und dann rendern könnten. es wird das no von Zeiten sparen die Anforderung muss für die verschiedenen Komponenten gemacht werden und würde daher schneller sein. Wäre es nicht? - Lazer
Es würde aber so funktioniert das Internet nicht. Wenn dies der Fall wäre, müssten Sie alle Ihre Bilder usw. inline einfügen. Jedes Bild ist eine separate Anfrage an einen Server. Wenn Sie alle Ihre Bilder einfügen, bedeutet dies, dass Sie alle verschiedenen 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


Dies kann durch Folgendes verursacht werden:

  • Der Server ist langsam.
  • Der Server hat eine langsame Verbindung.
  • Dein Computer ist langsam. Das Rendern benötigt auch Zeit.
  • Während die Verbindung 1 Mbit / s Verkehr erlaubt, hat sie eine hohe Latenz. Vergleichen Sie das mit einem Schiff. Sie können eine Menge Dinge in ein Schiff laden, aber es wird eine lange Zeit dauern, um das Ziel zu erreichen.

5
2017-10-06 20:49



Ihr Vergleich ist verwirrend. 1Mb / s bedeutet die Menge an Daten pro Zeiteinheit. Im Wesentlichen ist es ein Schiff, das 1MB Ladung halten kann und in 1 Sekunde zu seinem Zielort reisen kann. Warum sollte es langsamer sein? - Giffyguy
Sagen wir, dass ich 1 MB Daten in einer Sekunde ins Internet gestellt habe. Nachdem ich das getan habe, haben die Daten noch nicht das Ziel erreicht. Es muss zuerst viele Kabel, Router und andere Dinge passieren. Genau wie ein Schiff durch eine ganze Menge Meer pflügen muss. Vergleichen Sie das Kabel mit einer Versandroute. Ich könnte jede Sekunde ein Schiff mit einer Ladung von 1 MB darauf setzen. Das bedeutet nicht, dass, wenn ich das zweite Schiff wegschicke, der erste bereits sein Ziel erreicht hat. Es ist diese Latenz, die Sie erhalten, wenn Sie den Ping-Befehl ausführen. - Bart van Heukelom
[@Bart van Heukelom] Ich denke ich verstehe deinen Vergleich (es erklärt die Latenz), aber es erklärt immer noch nicht den Geschwindigkeitsunterschied, den ich bekomme. Macht es? - Lazer
Es tut. Eine sehr kleine Webseite kann noch lange dauern, um zu laden, wenn die Latenz hoch ist. Das Senden eines fast leeren Schiffes dauert genauso lange wie das eines vollgeladenen Schiffes (wenn wir nicht berücksichtigen, dass das geladene Schiff mehr Motorleistung benötigt: p) - Bart van Heukelom
Gibt es einen Unterschied in den tatsächlichen Geschwindigkeiten, die Sie erhalten, oder basieren Sie nur auf der Geschwindigkeit, die Ihnen Ihr ISP bietet? - Josh Hunt


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

  1. Wenn GZIP-Komprimierung im Web-Server für HTML / JavaScript / etc vorhanden ist. (am wahrscheinlichsten), Ihr Browser wird komprimierten Inhalt herunterladen und muss ihn dann dekomprimieren.
  2. Bilder können nur 30-40k groß sein, aber dekodiert können sie viele Megabyte im Speicher betragen
  3. Wenn die Website mehrere externe Dateien (CSS / JavaScript / Bilder) hat, kann jede dieser Dateien auf einer separaten Verbindung als Teil Ihres Browsers heruntergeladen werden, der die Seite erstellt
  4. Das Herunterladen einer Datei ist eine grundlegende Operation in HTTP / FTP, die gestrafft ist. Es gibt keinen Inhalt zu erkennen und zu rendern

3
2017-10-06 21:14



Ich wusste nie, dass Dekompression und Dekodierung gemacht werden muss ... - Lazer


Noch nicht erwähnt - es gibt heutzutage viel mehr zu einem typischen Webseiten-Download als der Text, den Sie in Ihrem Browser sehen. Wenn die Seite, die Sie besuchen, die Möglichkeit hat, bearbeitet zu werden, enthält sie wahrscheinlich viel Code, um damit umzugehen. TinyMCE ist ein beliebter Javascript "Rich Text" -Editor für das Web. Es ist winzig, aber es nicht Das sehr klein.

TinyMCE

Dies ist nur ein Beispiel, aber diese Art von Ding bläht alle Arten von Webseiten auf und kann dazu führen, dass Ihre Browser-Erfahrung nicht Ihren Erwartungen entspricht. Abhängig von der Person, die die Webseite oder die Webanwendung erstellt, kann es passieren, dass Sie eine solche App herunterladen ob du es jemals benutzt oder nicht. Es ist nur in den Speicher geladen und wartet.

Ein anderer Aspekt ist psychologisch. Wenn Sie eine Datei zum Herunterladen auswählen, warten Sie darauf, dass sie eintrifft. Wenn du auf einen Link zu einer Seite klickst, erwartest du eher sofortige Befriedigung, also sage ich nicht "es ist alles in deinem Kopf", da ist definitiv eine Erwartung da.


2
2017-10-07 03:54



@ DaveParillo dies ist auch etwas, was ich nicht weiß. Ich hatte eine Idee, du hast es bestätigt. - Lazer


Für einen Download wird die Verbindung zu Beginn der Dateiübertragung ausgehandelt und Ihre Geschwindigkeit wird normalisiert. 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 eine Antwort von [site] und es dauert eine Weile). Jedes Mal, wenn Sie eine Webseite anfordern, wird dieselbe Verhandlung fortgesetzt. Es kann auch sein, dass der Server aufgrund von Ladevorgängen nur langsam auf Anforderungen reagiert oder Ihr Browser Daten nur langsam überträgt.


1
2017-10-06 20:49



das macht Sinn. - Lazer


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

Wenn die Internetverbindung ist z. Satellitenverbindung, hat hohe Download-Bandbreite und sehr langsam Upload-Bandbreite und hohe Latenz. Ähnliches gilt für die 3G / HSDPA-Mobilfunkverbindung, obwohl die Latenz niedriger ist als im Satelliten, aber immer noch 10-30x im Vergleich zu ADSL oder Kabelmodem.

Dies kann noch schlimmer 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 Mobiltelefontyp, einer HTTP-Verbindung, die den 3-Wege-TCP / IP-Handshake ausführt, kann eine einzelne Datei fast eine Sekunde dauern, bevor sie mit dem Herunterladen beginnt Sekunden, um eine kleine Webseite herunterzuladen, mit der mehrere Bilder und Stylesheets und Javascripts verknüpft sind.

Ich benutze Opera, die es mir erlaubt, die gleichzeitigen Verbindungen zu einigen sehr hohen Nummern zu setzen, zB 32 oder mehr. Das bedeutet, dass der Browser beim Öffnen einer Website über eine Verbindung mit hoher Latenz einige Sekunden braucht, um die Handshakes mit dem Server auszuführen, und dann 32 Elemente gleichzeitig herunterlädt und oft die Download-Bandbreite ausschöpft, die der Browser niemals herunterladen würde. einige Dateien gleichzeitig.

Die Geschwindigkeitsdifferenz kann auch auftreten, wenn der Computer langsam ist oder nicht genügend Arbeitsspeicher hat und der Browser den Computer während des Renderns der Seite blockieren kann. Dies kann vermieden werden, indem Sie einen schnelleren / leichteren Browser wie Opera verwenden oder den Browser so einstellen, dass er die Seite erst dann rendert, wenn alle erforderlichen Elemente heruntergeladen wurden. Heutzutage versuchen Browser, die Seite so schnell wie möglich zu rendern, was dazu führt, dass sie die Seite oft mehrfach rendern, und dies kann auf einem älteren Computer langsam sein.


0
2017-10-07 01:20



@Raynet Windows Vista, Firefox 3.5, Speicher ist kein Problem (3GB), meine Verbindung ist eine Mietleitung von etwa 300 Personen geteilt. - Lazer