텍스트 기반 브라우저가 네트워크 트래픽을 줄입니까?


27

lynx , 링크 및 elink 와 같은 텍스트 기반 브라우저 는 GUI 기반 브라우저 (예 : Firefox, Chrome 등)보다 적은 대역폭을 사용합니까?

트래픽이 줄어드는 것 같지 않습니다 .
근거 : 텍스트 기반 브라우저가 서버에서 제공하는 전체 페이지를 다운로드한다고 생각합니다. 페이지 위젯의 간소화 또는 축소는 로컬에서 수행됩니다.

대부분의 텍스트 기반 브라우저는 더 많은 트래픽을 유발할 수있는 페이지 스크립트 나 SWF를 실행하지 않으므로 트래픽 이 약간 줄어들 수 있습니다.


19
또는 실제로 이미지를 다운로드하십시오.
— Journeyman Geek

4
3 배 이상의 크기 감소 가 예상된다는 점에서 생각하십시오 .
— user2338816 2018 년

1
@ user2338816 예, 세 자릿수 차이가있을 수 있습니다. YouTube를 사용해보십시오! [나중에 추가 :] 죄송합니다. 또 다른 세입니다!
— Volker Siegel

3
@ user2338816 세 자릿수는 거의 없을 것입니다. 예를 들어,이 특정 페이지의 경우 원본 html 문서는 캐싱을 무시하고 다운로드 가능한 전체 소스의 약 10 %에 불과하므로 단일 크기 만 가능합니다. 많은 무거운 항목 (자바 스크립트 라이브러리, 큰 이미지 등)이 성공적으로 캐싱되어 많은 페이지에서 재사용되므로 매우 드물게 다운로드되므로 크기가 전체 네트워크 트래픽에 미치는 영향을 나타내지는 않습니다.
— Peteris

1
@Peteris 3은 약간 높을 수 있지만 확실히 2는 아닙니다. 여기에 표시되는 10 %가 대부분의 일반 사이트에서 동일하다고 가정 해 봅시다. 그런 다음 비디오 트래픽이 모든 비디오 트래픽의 78 %임을 고려하십시오. 이는 나머지 22 %의 트래픽에서 2.2 %가 텍스트 일 ​​것으로 예상 할 수 있음을 의미합니다. 자, 이것은 냅킨 수학이지만, 2 배의 크기가 그 자리에있는 것 같습니다.
— corsiKa

답변:


53

웹 서버는 "전체 웹 사이트"를 보내지 않지만 브라우저가 요청하는 문서를 보냅니다.

예를 들어, 당신은에 액세스 할 때 https://www.google.com/를 문서의 브라우저 쿼리 서버 https://www.google.com/. 서버는 요청을 처리하고 HTML 코드를 다시 보냅니다.

그런 다음 브라우저는 서버가 전송 한 내용을 확인합니다. 이 경우 HTML 웹 페이지이므로 문서를 구문 분석하고 참조 된 스크립트, 스타일 시트, 이미지, 글꼴 등을 찾습니다.

이 단계에서 브라우저는 해당 문서 다운로드를 완료했지만 여전히 참조 문서를 다운로드하지 않았습니다. 그렇게하거나 건너 뛰도록 선택할 수 있습니다. 일반 브라우저는 최상의 시청 경험을 위해 모든 참조 문서를 다운로드하려고 시도합니다. Adblock과 같은 광고 차단기 또는 개인 정보 플러그인 (Ghostery, NoScript)이있는 경우 일부 리소스도 차단 될 수 있습니다.

그런 다음 브라우저는 서버에 단일 리소스를 명시 적으로 요청할 때마다 참조 문서를 하나씩 다운로드합니다. Google 예제에서 브라우저는 다음 중 몇 가지를 언급하기 위해 다음과 같은 참조를 찾습니다.

(실제 파일은 사용자, 브라우저 및 세션마다 다를 수 있으며 시간이 지남에 따라 변경 될 수 있습니다)

텍스트 기반 브라우저는 이미지, 플래시 파일, HTML5 비디오 등을 다운로드하지 않으므로 더 적은 데이터를 다운로드합니다.


@NathanOsman은 주석에서 좋은 지적을합니다. 때로는 작은 이미지가 HTML 문서에 직접 삽입되어 다운로드하는 것을 피할 수 없습니다. 이것은 요청 수를 줄이는 데 사용되는 또 다른 트릭입니다. 그들은이다 매우 그렇지 base64로 이진 파일을 인코딩의 오버 헤드가 너무 큰,하지만, 작은. Google.com에는 이러한 이미지가 거의 없습니다. ( base64로 인코딩 된 크기 / 디코딩 된 크기 )

  • 19 × 11 키보드 아이콘 (106 B / 76 B)
  • 28 × 38 마이크 아이콘 (334 B / 248 B)
  • Chrome 개발자 도구 리소스 탭에 1x1 px 투명 GIF (62 B / 43 B)가 표시 되지만 소스에서 찾을 수 없습니다. 나중에 JavaScript로 추가 할 수 있습니다.
  • 1x1 px 손상된 GIF 파일이 두 번 나타납니다 (34 B / 23 B). 그 목적은 나에게 미스터리입니다.

1
결합 된 이미지 링크가 마음에 들었습니다.
— prateek61

12
@ prateek61 모든 주요 웹 사이트에서 사용합니다. 실제로 비디오 게임에서 빌린 기술입니다. :) 사실, 많은 웹 개발자는 심지어 " CSS 스프라이트 "또는 이와 유사한 것으로 부르기도합니다 ( 아마존 에서는 "가려움증"이라고하지만 그 변형이 얼마나 흔한 지 모르겠습니다).
— 솜털

3
글쎄, 거의-데이터 URI 체계 ( data:)를 사용하여 HTML에 직접 이미지를 포함시킬 수 있습니다 .
— Nathan Osman

네, 인터넷 콘텐츠의 대부분을 기꺼이 희생하려는 경우 대역폭을 줄일 수 있습니다. 논리적 인 것 같습니다 ... 인터넷의 78 %가 비디오 트래픽 이라는 것을 잊지 마십시오 ...
— corsiKa

25

나는 그들이 의심합니다. 텍스트 기반 브라우저는 기본적으로 이미지 (필요한 경우), 스크립트 등과 같은 외부 엔티티와 같은 리소스를 다운로드한다고 믿지 않습니다.

lynx와 wget을 사용 하여이 IANA 페이지 ( http://www.iana.org/domains/reserved ) 를 얻으려고 tcpdump를 사용하여 몇 가지 기본 테스트를 수행했으며 결과는 다음과 같습니다 (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)

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)

따라서 wget브라우저가 다운로드하지 않을 수있는 리소스를 다운로드 할 수 있으므로 훌륭한 테스트는 아니지만 GUI 브라우저에서 콘텐츠를 렌더링하는 데 더 많은 요청이 필요하다고 생각합니다. 따라서 GUI 브라우저는 일반적으로 텍스트 기반 브라우저보다 더 많은 네트워크 트래픽을 발생시킵니다.


wget브라우저 라고 생각할 수 없습니다 . 더 나은 것을 시도해보십시오 elinks.
— Darkhogg

그래서 나는 wget모든 HTTP 요청과 응답을 보여주기 위해 단순히 사용 했습니다. -p매개 변수는 다음과 같이 정의된다 -p, --page-requisites get all images, etc. needed to display HTML page.. 필자는 필터링하지 않아도되는 다른 요청을하는 경향이 있으므로 실제 GUI 브라우저를 사용하고 싶지 않았습니다.
— prateek61

3
이 답변도 마음에 듭니다. wget 검사는 흥미로웠다.
— Paulb

1

텍스트 기반 브라우저는 부풀린 웹 2.0 고해상도 이미지, 비디오 및 대화 형 항목 (플래시 및 기타)을 모두 요청하지 않으므로 전송 된 데이터 양을 크게 줄일 것이라고 생각합니다.

특정 IPtables 규칙에 도달하는 트래픽의 양을 계산하는 IPtables 규칙을 설정하여이를 테스트하는 것이 좋습니다.

예를 들어 트래픽 계산 기능이있는 포트 80 + 443에 대한 규칙을 만들고 일반 브라우저로 웹을 탐색하고 IPtables 카운터를 재설정 한 다음 텍스트 기반 브라우저로 동일한 작업을 수행하십시오.

동적 웹 콘텐츠 (광고 및 콘텐츠)는 액세스마다 다를 수 있으므로 두 실행을 100 % 비교할 수는 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.