I browser basati su testo riducono il traffico di rete?


27

Browser basati su testo come lince , link e elinks consuma meno larghezza di banda rispetto a un browser basato su GUI (ad es. Firefox, Chrome ecc.)?

sono indovinando no riduzione del traffico.
Motivazione: Penso che un browser basato su testo scarichi l'intera pagina così come viene offerta dal server. Qualsiasi ottimizzazione o riduzione del widget di pagine viene eseguita localmente.

Forse c'è alcuni riduzione del traffico, poiché la maggior parte dei browser basati su testo non eseguirà script di pagina o SWF che potrebbero causare più traffico.


19
O in realtà scaricare le immagini ..
Journeyman Geek

4
Pensa in termini di attesa a tre o più ordini di grandezza riduzione.
user2338816

1
@ user2338816 Sì, potrebbe esserci una differenza di tre ordini di grandezza. Prova YouTube! [Aggiungendo più tardi:] Oops, ecco altri tre!
Volker Siegel

3
@ user2338816 tre ordini di grandezza sarebbe improbabile. Ad esempio, per questa particolare pagina il documento html originale è circa il 10% di tutte le fonti scaricabili che trascurano il caching, quindi solo un singolo ordine di grandezza; e molti oggetti pesanti (librerie javascript, immagini di grandi dimensioni, ecc.) vengono memorizzati con successo nella cache, spesso riutilizzati su molte pagine e quindi scaricati molto raramente, quindi le loro dimensioni non rappresentano realmente il loro impatto sul traffico di rete totale.
Peteris

1
@Peteris 3 potrebbe essere un po 'alto, ma certamente non lo è. Diciamo che il 10% che noti qui è uguale su tutti i siti normali. Quindi considera che il traffico video ammonta al 78% di tutto il traffico video. Ciò significa che per il resto del 22% del traffico, possiamo aspettarci che il 2,2% sia testo. Ora, questa è la matematica del tovagliolo, ma 2 ordini di grandezza sembrano essere dov'è.
corsiKa

Risposte:


53

Il server Web non invia "l'intero sito Web", ma i documenti richiesti dai browser.

Ad esempio quando accedi https://www.google.com/ il browser interroga il server per il documento https://www.google.com/. Il server elabora la richiesta e restituisce del codice HTML.

Quindi il browser controlla ciò che il server ha inviato. In questo caso è una pagina Web HTML, quindi analizza il documento e cerca script, fogli di stile, immagini, font, ecc. Di riferimento.

In questa fase il browser ha finito di scaricare quel documento, ma non ha ancora scaricato i documenti di riferimento. Può scegliere di farlo o saltarli. I normali browser cercheranno di scaricare tutti i documenti di riferimento per la migliore esperienza di visualizzazione. Se hai un blocco annunci (come Adblock) o un plug-in per la privacy (Ghostery, NoScript), potrebbe bloccare anche alcune risorse.

Quindi il browser scarica i documenti di riferimento uno per uno, ogni volta chiedendo esplicitamente al server una singola risorsa. Nel nostro esempio di Google il browser troverà i seguenti riferimenti, solo per citarne alcuni:

(i file effettivi potrebbero essere diversi per utenti, browser e sessioni diversi e potrebbero cambiare nel tempo)

I browser basati su testo non scaricano immagini, file Flash, video HTML5 ecc. In modo da scaricare meno dati.


@NathanOsman fa un buon punto nei commenti: a volte le immagini di piccole dimensioni sono incorporate direttamente nei documenti HTML e in quei casi il loro download non può essere evitato. Questo è un altro trucco usato per ridurre il numero di richieste. Loro sono molto piccolo, tuttavia, altrimenti il ​​sovraccarico del file binario di codifica in base64 è troppo grande. Ci sono poche immagini di questo tipo su Google.com: ( dimensione codificata base64 / dimensioni decodificate )

  • Icona della tastiera 19 × 11 (106 B / 76 B)
  • Icona del microfono 28 × 38 (334 B / 248 B)
  • GIF trasparente 1 × 1 px (62 B / 43 B) che compare in Chrome Dev Tools risorse scheda, ma non sono riuscito a trovarlo nella sorgente, probabilmente aggiunto in seguito con JavaScript
  • File GIF corrotto 1 × 1 px che appare due volte (34 B / 23 B). Il suo scopo è un mistero per me.

1
Mi è piaciuto il collegamento di immagini combinate - questo è un trucco eccellente.
prateek61

12
@ prateek61 Tutti i principali siti web lo usano; è in realtà una tecnica presa in prestito dai videogiochi. :) In effetti, molti sviluppatori web addirittura lo chiamano " Sprite CSS "o simili (a Amazon si parla di "sprite" ma non so quanto sia comune questa variazione).
fluffy

3
Bene, quasi - è possibile incorporare le immagini direttamente in HTML usando lo schema URI di dati ( data: ).
Nathan Osman

Sì, se sei disposto a sacrificare la maggior parte del contenuto di Internet, puoi ridurre la larghezza di banda. Sembra logico ... Non dimentichiamolo Il 78% di Internet è il traffico video ...
corsiKa

25

Sospetto che lo facciano. Non credo che i browser basati su testo (di default) possano anche scaricare risorse come immagini o entità esterne, come i caratteri (se necessario), gli script, ecc.

Ho fatto alcuni test di base con tcpdump cercando di ottenere questa pagina IANA ( http://www.iana.org/domains/reserved ) con entrambi lynx e poi wget, e qui c'erano i miei risultati (solo comandi HTTP, posso fornire il resto se necessario).

lynx http://www.iana.org/domains/reserved

  4   0.072774 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /domains/reserved HTTP/1.0
 10   0.146971   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (text/html)

wget -p http://www.iana.org/domains/reserved

  4   0.072139 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /domains/reserved HTTP/1.0
 22   0.145905   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (text/html)
 28   0.219381 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /robots.txt HTTP/1.0
 30   0.291877   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (text/plain)
 32   0.292550 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_css/2013.1/screen.css HTTP/1.0
 94   0.440388   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (text/css)
100   0.514652 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_css/2013.1/print.css HTTP/1.0
132   0.660071   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (text/css)
138   0.733546 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_img/bookmark_icon.ico HTTP/1.0
154   0.878227   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (application/octet-stream)
160   0.950713 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_js/2013.1/jquery.js HTTP/1.0
277   1.172095   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (application/x-javascript)
283   1.244571 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_js/2013.1/iana.js HTTP/1.0
285   1.317059   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK
287   1.317609 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_img/2013.1/iana-logo-header.svg HTTP/1.0
332   1.464356   192.0.32.8 -> xx.xx.xx.xx HTTP/XML HTTP/1.1 200 OK
337   1.536749 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_img/2013.1/icann-logo.svg HTTP/1.0
348   1.610449   192.0.32.8 -> xx.xx.xx.xx HTTP/XML HTTP/1.1 200 OK
353   1.682727 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_css/2013.1/fonts/OpenSans-Light.ttf HTTP/1.0
658   2.552776   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (application/octet-stream)
663   2.625015 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_css/2013.1/fonts/OpenSans-Regular.ttf HTTP/1.0
926   3.063537   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (application/octet-stream)
932   3.135931 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_css/2013.1/fonts/OpenSans-Semibold.ttf HTTP/1.0
1216   3.573481   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (application/octet-stream)
1222   3.645984 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_css/2013.1/fonts/OpenSans-Bold.ttf HTTP/1.0
1500   4.012966   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (application/octet-stream)
1506   4.085693 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_css/2013.1/fonts/Inconsolata.otf HTTP/1.0
1584   4.304016   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (application/octet-stream)
1589   4.376612 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_img/2011.1/icons/icon_alert.png HTTP/1.0
1592   4.449311   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (PNG)
1594   4.449930 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_img/2013.1/iana-logo-homepage.png HTTP/1.0
1627   4.596125   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (PNG)
1633   4.668596 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_img/2013.1/iana-logo-homepage@2x.png HTTP/1.0
1704   4.895581   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (PNG)
1710   4.968097 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_css/2011.1/fonts/OpenSans-Light.ttf HTTP/1.0
1982   5.364584   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (application/octet-stream)
1988   5.438091 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_css/2011.1/fonts/OpenSans-Regular.ttf HTTP/1.0
2243   5.830353   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (application/octet-stream)
2249   5.902861 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_css/2011.1/fonts/OpenSans-SemiBold.ttf HTTP/1.0
2259   5.976674   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 404 NOT FOUND  (text/html)
2263   6.047876 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_css/2011.1/fonts/OpenSans-Bold.ttf HTTP/1.0
2533   6.415590   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (application/octet-stream)
2539   6.487909 xx.xx.xx.xx -> 192.0.32.8   HTTP GET /_css/2011.1/fonts/Inconsolata.otf HTTP/1.0
2616   6.720477   192.0.32.8 -> xx.xx.xx.xx HTTP HTTP/1.1 200 OK  (application/octet-stream)

Quindi mi rendo conto che questo non è un grande test come wget può scaricare risorse che un browser non può scaricare, ma l'esempio che ritengo valido: ci sono molte più richieste richieste per il rendering del contenuto su un browser della GUI. In quanto tale, i browser GUI generano generalmente più traffico di rete rispetto ai browser basati su testo.


Non penso wget può essere considerato un browser. Meglio provare con elinks o qualcosa di simile.
Darkhogg

Quindi l'ho usato wget semplicemente per dimostrare tutte le richieste HTTP e le risposte che verranno fatte. Il -p parametro è definito come segue: -p, --page-requisites get all images, etc. needed to display HTML page.. Non volevo utilizzare un vero browser della GUI perché tendono a fare altre richieste che non volevo filtrare.
prateek61

3
Mi piace anche questa risposta. L'ispezione di Wget è stata interessante.
Paulb

1

Penso che i browser basati su testo ridurranno la quantità di dati trasferiti in modo significativo in quanto non richiederanno tutte quelle immagini ingrandite ad alta risoluzione, video e materiale interattivo (Flash e altri).

Ti suggerisco di testarlo impostando una regola IPtables che conterà la quantità di traffico che colpisce una specifica regola IPtables.

Ad esempio, creare una regola per la porta 80 + 443 con il conteggio del traffico e navigare sul Web con un normale browser, ripristinare il contatore IPtables e fare lo stesso con un browser basato su testo.

Tieni presente che non è possibile confrontare entrambe le esecuzioni al 100% perché i webcontent dinamici (annunci e materiale) potrebbero variare su ciascun Access.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.