Сегодняшняя сессия вопросов и ответов приходит к нам благодаря SuperUser - подразделению Stack Exchange, основанной на сообществах сайтам Q & A.
Скриншот Lynx Browser предоставлен Wikipedia.
Вопрос
Читатель SuperUser Полб хочет знать, действительно ли текстовые браузеры могут снизить сетевой трафик:
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.
Могут ли текстовые браузеры заметно ухудшать сетевой трафик?
Ответ
Для пользователя SuperUser gronostaj есть ответ для нас:
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.
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других пользователей Windows? Посмотрите здесь полную дискуссионную тему.