Pau*_*ulb 27 networking browser terminal gui user-interface
基于文本的浏览器(例如lynx、links和elinks )是否比基于 GUI 的浏览器(即 Firefox、Chrome 等)消耗的带宽更少?
我猜 流量不会减少。
理由:我认为基于文本的浏览器会下载服务器提供的整个页面。页面小部件的任何精简或减少都是在本地完成的。
也许流量会有所减少,因为大多数基于文本的浏览器不会执行可能会导致更多流量的页面脚本或 SWF。
gro*_*taj 53
Web 服务器不会发送“整个网站”,而是发送浏览器请求的文档。
例如,当您访问https://www.google.com/ 时,浏览器会向服务器查询文档https://www.google.com/。服务器处理请求并发回一些 HTML 代码。
然后浏览器检查服务器发送了什么。在这种情况下,它是 HTML 网页,因此它会解析文档并查找引用的脚本、样式表、图像、字体等。
在这个阶段,浏览器已经完成了该文档的下载,但仍然没有下载引用的文档。它可以选择这样做或跳过它们。常规浏览器会尝试下载所有参考文档以获得最佳观看体验。如果您有广告拦截器(如 Adblock)或隐私插件(Ghostery、NoScript),它也可能会拦截某些资源。
然后浏览器逐个下载引用的文档,每次都明确地向服务器询问单个资源。在我们的 Google 示例中,浏览器将找到以下引用,仅举几例:
(实际文件对于不同的用户、浏览器和会话可能会有所不同,并且可能会随着时间的推移而变化)
基于文本的浏览器不下载图像、Flash 文件、HTML5 视频等,因此它们下载的数据较少。
@NathanOsman 在评论中提出了一个很好的观点:有时小图像直接嵌入在 HTML 文档中,在这些情况下无法避免下载它们。这是用于减少请求数量的另一个技巧。但是它们非常小,否则在 base64 中编码二进制文件的开销太大。Google.com 上很少有这样的图片:(base64 编码大小/解码大小)
pra*_*k61 25
我怀疑他们会这样做。我不相信基于文本的浏览器(默认情况下)甚至会下载诸如图像或外部实体之类的资源,例如字体(如果需要)、脚本等。
我使用 tcpdump 进行了一些基本测试,尝试使用 lynx 和 wget获取此 IANA 页面(http://www.iana.org/domains/reserved),这是我的结果(仅 HTTP 命令,我可以提供其余部分)如果需要的话)。
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)
Run Code Online (Sandbox Code Playgroud)
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)
Run Code Online (Sandbox Code Playgroud)
所以我意识到这不是一个很好的测试,因为wget可能会下载浏览器可能无法下载的资源,但我认为这个例子仍然存在 - 在 GUI 浏览器上呈现内容需要更多的请求。因此,它的 GUI 浏览器通常会比基于文本的浏览器产生更多的网络流量。
| 归档时间: |
|
| 查看次数: |
3104 次 |
| 最近记录: |