La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di domande e risposte basato sulla comunità.
Schermata di Lynx Browser per gentile concessione di Wikipedia.
La domanda
Il lettore SuperUser Paulb vuole sapere se i browser basati su testo possono effettivamente ridurre il traffico di rete:
Do text-based browsers such as Lynx, Links, and ELinks consume less bandwidth than GUI-based browsers like Firefox, Chrome, and Internet Explorer?
I am guessing that there is no reduction in traffic. My rationale for this is that I think a text-based browser downloads the entire page as it is offered by the server. Any streamlining or reduction of page widgetry is done locally.
Maybe there is some reduction in traffic as most text-based browsers will not execute page scripts or flash files, which might cause more traffic.
I browser basati su testo possono fare una notevole differenza nella riduzione del traffico di rete?
La risposta
Il collaboratore di SuperUser gronostaj ha la risposta per noi:
The web server does not send the entire website, but documents that browsers request. For example, when you access google.com, the browser queries the web server for the document google.com. The web server processes the request and sends back some HTML code.
Then the browser checks what the web server has sent. In this case, it is an HTML webpage, so it parses the document and looks for referenced scripts, style sheets, images, fonts, etc.
At this stage, the browser has finished downloading the original document, but has still not downloaded the referenced documents. It can choose to do so or skip downloading them. Regular browsers will try to download all referenced documents for the best viewing experience. If you have an ad blocker (like Adblock Plus) or a privacy plugin (like Ghostery or NoScript), then it may block some resources too.
Then the browser downloads the referenced documents one by one, each time asking the web server explicitly for a single resource. In our Google example, the browser will find the following references (just to name a few of them):
- https://www.google.com/images/srpr/logo11w.png (Google Logo)
- https://www.google.com/textinputassistant/tia.png (Keyboard Icon)
- https://ssl.gstatic.com/gb/images/i1_3d265689.png (Some combined images, a trick used to reduce the number of browser requests.)
The actual files may be different for different users since browsers and sessions may change over time. Text-based browsers do not download images, Flash files, HTML5 video, etc., so they download less data.
@NathanOsman makes a good point in the comments. Sometimes small images are embedded directly in HTML documents and in those cases, downloading them cannot be avoided. This is another trick used to reduce the number of requests. They are very small though, otherwise the overhead of encoding a binary file in base64 is too big. There are few such images on google.com (base64 encoded size/decoded size):
- 19×11 pixel Keyboard Icon (106 Bytes/76 Bytes)
- 28×38 pixel Microphone Icon (334 Bytes/248 Bytes)
- 1×1 pixel Transparent GIF (62 Bytes/43 Bytes) It shows up in Google Chrome’s Dev Tools Resources tab, but I could not find it in the source code (probably added later with JavaScript).
- 1×1 pixel Corrupted GIF file that appears twice. (34 Bytes/23 Bytes) Its purpose is a mystery to me.
Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.