Verbrauchen textbasierte Browser wie Lynx , Links und Elinks weniger Bandbreite als ein GUI-basierter Browser (z. B. Firefox, Chrome usw.)?
Ich vermute keine Reduzierung des Verkehrs.
Begründung: Ich denke, ein textbasierter Browser lädt die gesamte Seite herunter, wie sie vom Server angeboten wird. Die Optimierung oder Reduzierung der Seitenbreite erfolgt lokal.
Möglicherweise gibt es eine gewisse Reduzierung des Datenverkehrs, da die meisten textbasierten Browser keine Seitenskripte oder SWF-Dateien ausführen, die möglicherweise mehr Datenverkehr verursachen.
Antworten:
Der Webserver sendet nicht die gesamte Website, sondern die vom Browser angeforderten Dokumente.
Wenn Sie beispielsweise auf https://www.google.com/ zugreifen, fragt der Browser den Server nach dem Dokument ab
https://www.google.com/
. Der Server verarbeitet die Anfrage und sendet HTML-Code zurück.Dann prüft der Browser, was der Server gesendet hat. In diesem Fall handelt es sich um eine HTML-Webseite, die das Dokument analysiert und nach referenzierten Skripten, Stylesheets, Bildern, Schriftarten usw. sucht.
Zu diesem Zeitpunkt hat der Browser das Herunterladen des Dokuments abgeschlossen, hat jedoch noch keine referenzierten Dokumente heruntergeladen. Es kann sich dafür entscheiden oder diese überspringen. Normale Browser versuchen, alle Dokumente, auf die verwiesen wird, herunterzuladen, um eine optimale Anzeige zu erzielen. Wenn Sie über einen Werbeblocker (wie Adblock) oder ein Datenschutz-Plugin (Ghostery, NoScript) verfügen, werden möglicherweise auch einige Ressourcen blockiert.
Anschließend lädt der Browser die referenzierten Dokumente nacheinander herunter, wobei er den Server jedes Mal explizit nach einer einzelnen Ressource fragt. In unserem Google-Beispiel findet der Browser folgende Referenzen, um nur einige zu nennen:
(Die tatsächlichen Dateien können für verschiedene Benutzer, Browser und Sitzungen unterschiedlich sein und sich im Laufe der Zeit ändern.)
Textbasierte Browser laden keine Bilder, Flash-Dateien, HTML5-Videos usw. herunter, sodass weniger Daten heruntergeladen werden.
@ NathanOsman macht einen guten Punkt in Kommentaren: Manchmal sind kleine Bilder direkt in HTML-Dokumente eingebettet und in diesen Fällen kann das Herunterladen nicht vermieden werden. Dies ist ein weiterer Trick, mit dem die Anzahl der Anforderungen verringert wird. Sie sind jedoch sehr klein, da sonst der Aufwand für die Codierung von Binärdateien in base64 zu groß ist. Es gibt nur wenige solcher Bilder auf Google.com: ( Base64-codierte Größe / decodierte Größe )
quelle
data:
) direkt in HTML einzubetten .Ich würde vermuten, dass sie es tun. Ich glaube nicht, dass textbasierte Browser (standardmäßig) Ressourcen wie Bilder oder externe Entitäten wie Schriftarten (falls erforderlich), Skripte usw. herunterladen.
Ich habe einige grundlegende Tests mit tcpdump durchgeführt, um diese IANA-Seite ( http://www.iana.org/domains/reserved ) mit beiden lynx- und wget-Befehlen zu erhalten, und hier sind meine Ergebnisse (nur HTTP-Befehle, den Rest kann ich bereitstellen) wenn benötigt).
lynx http://www.iana.org/domains/reserved
wget -p http://www.iana.org/domains/reserved
Ich stelle fest, dass dies kein großartiger Test ist, da
wget
möglicherweise Ressourcen heruntergeladen werden, die ein Browser möglicherweise nicht herunterlädt, aber das Beispiel, von dem ich denke, dass es viel mehr Anforderungen gibt, um Inhalte in einem GUI-Browser zu rendern. Daher verursachen GUI-Browser im Allgemeinen mehr Netzwerkverkehr als textbasierte Browser.quelle
wget
dies als Browser angesehen werden kann. Besser mit probierenelinks
oder ähnliches.wget
einfach alle HTTP-Anfragen und -Antworten demonstriert, die gemacht werden. Der-p
Parameter wird wie folgt definiert:-p, --page-requisites get all images, etc. needed to display HTML page.
. Ich wollte keinen tatsächlichen GUI-Browser verwenden, da diese dazu neigen, andere Anfragen zu stellen, die ich nicht herausfiltern wollte.Ich denke, dass textbasierte Browser die Menge der übertragenen Daten erheblich reduzieren werden, da sie nicht alle diese aufgeblähten hochauflösenden Web 2.0-Bilder, Videos und interaktiven Inhalte (Flash und andere) anfordern werden.
Ich schlage vor, Sie testen dies, indem Sie eine IPtables-Regel einrichten, die den Datenverkehr zählt, der auf eine bestimmte IPtables-Regel trifft.
Erstellen Sie beispielsweise eine Regel für Port 80 + 443 mit Verkehrszählung und durchsuchen Sie das Internet mit einem normalen Browser, setzen Sie den IPtables-Zähler zurück und tun Sie dasselbe mit einem textbasierten Browser.
Beachten Sie, dass Sie nicht beide Läufe zu 100% vergleichen können, da der dynamische Webinhalt (Anzeigen und Inhalte) bei jedem Zugriff unterschiedlich sein kann.
quelle