क्या पाठ आधारित ब्राउज़र नेटवर्क ट्रैफ़िक को कम करते हैं?


27

क्या पाठ आधारित ब्राउज़र जैसे कि lynx , लिंक और एलिंक GUI आधारित ब्राउज़र (यानी, फ़ायरफ़ॉक्स, क्रोम आदि) की तुलना में कम बैंडविड्थ की खपत करते हैं?

मैं ट्रैफ़िक में कोई कमी नहीं होने का अनुमान लगा रहा हूं । Rationale: मुझे लगता है कि एक पाठ आधारित ब्राउज़र पूरे पृष्ठ को डाउनलोड करता है क्योंकि यह सर्वर द्वारा पेश किया जाता है। पृष्ठ विजेट का कोई भी स्ट्रीमलाइनिंग या कमी स्थानीय स्तर पर किया जाता है।

हो सकता है कि ट्रैफ़िक में कुछ कमी हो, क्योंकि अधिकांश टेक्स्ट आधारित ब्राउज़र पृष्ठ स्क्रिप्ट या SWF निष्पादित नहीं करेंगे, जो अधिक ट्रैफ़िक का कारण हो सकता है।


19
या वास्तव में डाउनलोड छवियों ..
जर्नीमैन गीक

4
परिमाण में कमी के तीन या अधिक आदेशों की अपेक्षा के संदर्भ में सोचें ।
user2338816

1
@ user2338816 हां, परिमाण के तीन आदेशों का अंतर हो सकता है। YouTube आज़माएं! [बाद में जोड़ना:] उफ़, यह एक और तीन है!
वोल्कर सीगल

3
@ user2338816 परिमाण के तीन आदेशों की संभावना नहीं होगी। उदाहरण के लिए, इस विशेष पृष्ठ के लिए मूल HTML दस्तावेज़ कैशिंग की अवहेलना करने वाले संपूर्ण डाउनलोड करने योग्य स्रोतों का कुछ 10% है, इसलिए परिमाण का केवल एक आदेश; और कई हैवीवेट आइटम (जावास्क्रिप्ट पुस्तकालय, बड़ी छवियां, आदि) सफलतापूर्वक कैश हो जाते हैं, अक्सर कई पृष्ठों में पुन: उपयोग किए जाते हैं और इस प्रकार बहुत कम ही डाउनलोड किए जाते हैं, इसलिए उनका आकार वास्तव में कुल नेटवर्क ट्रैफ़िक पर उनके प्रभाव का प्रतिनिधित्व नहीं करता है।
पीटरिस

1
@ पेटरिस 3 थोड़ा अधिक हो सकता है, लेकिन 2 निश्चित रूप से नहीं है। मान लीजिए कि आपके द्वारा यहां देखा गया 10% अधिकांश नियमित साइटों पर समान है। फिर उस वीडियो ट्रैफ़िक को सभी वीडियो ट्रैफ़िक के 78% हिस्से तक ले जाएं। शेष 22% ट्रैफ़िक के लिए इसका मतलब है, हम 2.2% टेक्स्ट होने की उम्मीद कर सकते हैं। अब, यह नैपकिन गणित है, लेकिन परिमाण के 2 आदेश प्रतीत होते हैं कि यह कहां है।
corsiKa

जवाबों:


53

वेब सर्वर "संपूर्ण वेबसाइट" नहीं भेजता है, लेकिन दस्तावेज़ जो ब्राउज़र अनुरोध करते हैं।

उदाहरण के लिए जब आप दस्तावेज़ के लिए https://www.google.com/ ब्राउज़र क्वेरी सर्वर तक पहुँचते हैं https://www.google.com/। सर्वर अनुरोध को संसाधित करता है और कुछ HTML कोड वापस भेजता है।

फिर ब्राउज़र जाँचता है कि सर्वर ने क्या भेजा है। इस मामले में यह HTML वेबपृष्ठ है, इसलिए यह दस्तावेज़ को पार्स करता है और संदर्भित स्क्रिप्ट, स्टाइलशीट, चित्र, फ़ॉन्ट आदि की तलाश करता है।

इस स्तर पर ब्राउज़र ने उस दस्तावेज़ को डाउनलोड करना समाप्त कर दिया है, लेकिन अभी भी संदर्भित दस्तावेज़ डाउनलोड नहीं किए हैं। यह ऐसा करने या उन्हें छोड़ने का विकल्प चुन सकता है। नियमित ब्राउज़र सबसे अच्छा देखने के अनुभव के लिए सभी संदर्भित दस्तावेज़ों को डाउनलोड करने का प्रयास करेंगे। यदि आपके पास विज्ञापन अवरोधक (जैसे एडब्लॉक) या गोपनीयता प्लगइन (घोस्टरी, नोस्क्रिप्ट) है, तो यह कुछ संसाधनों को भी अवरुद्ध कर सकता है।

फिर ब्राउज़र एक-एक करके दस्तावेज़ों को संदर्भित करता है, हर बार सर्वर से एक ही संसाधन के लिए स्पष्ट रूप से पूछ रहा है। हमारे Google उदाहरण में ब्राउज़र को निम्नलिखित संदर्भ मिलेंगे, बस उनमें से कुछ को नाम देने के लिए:

(वास्तविक फाइलें विभिन्न उपयोगकर्ताओं, ब्राउज़रों और सत्रों के लिए भिन्न हो सकती हैं और समय के साथ बदल सकती हैं)

पाठ-आधारित ब्राउज़र छवियों, फ़्लैश फ़ाइलों, एचटीएमएल 5 वीडियो आदि को डाउनलोड नहीं करते हैं, इसलिए वे कम डेटा डाउनलोड करते हैं।


@ नथनओसमैन टिप्पणियों में एक अच्छा बिंदु बनाता है: कभी-कभी छोटी छवियां सीधे HTML दस्तावेजों में एम्बेडेड होती हैं और उन मामलों में उन्हें डाउनलोड करने से बचा नहीं जा सकता है। यह एक और चाल है जिसका उपयोग अनुरोधों की संख्या को कम करने के लिए किया जाता है। वे बहुत छोटे हैं, हालांकि, अन्यथा बेस 64 में बाइनरी फ़ाइल एन्कोडिंग का ओवरहेड बहुत बड़ा है। Google.com पर ऐसी कुछ छवियां हैं: ( base64 एन्कोडेड आकार / डिकोड्ड आकार )

  • 19 × 11 कीबोर्ड आइकन (106 बी / 76 बी)
  • 28 × 38 माइक्रोफोन आइकन (334 बी / 248 बी)
  • 1 × 1 px पारदर्शी GIF (62 B / 43 B) जो क्रोम देव उपकरण संसाधन टैब में दिखाई देता है, लेकिन मैं इसे स्रोत में नहीं खोज सका - शायद बाद में जावास्क्रिप्ट के साथ जोड़ा गया
  • 1 × 1 px दूषित GIF फ़ाइल जो दो बार (34 B / 23 B) दिखाई देती है। इसका उद्देश्य मेरे लिए एक रहस्य है।

1
मुझे संयुक्त चित्र लिंक पसंद आया - यह एक साफ चाल है।
prateek61

12
@ prateek61 सभी प्रमुख वेबसाइटें इसका उपयोग करती हैं; यह वास्तव में वीडियो गेम से उधार ली गई तकनीक है। :) वास्तव में, कई वेब डेवलपर्स इसे " सीएसएस स्प्राइट्स " या समान कहते हैं ( अमेज़ॅन पर इसे "स्प्रिटिंग" कहा जाता है, लेकिन मुझे नहीं पता कि यह विविधता कितनी सामान्य है)।
शराबी

3
खैर, लगभग - यूआरआई योजना ( data:) का उपयोग करके सीधे HTML में छवियों को एम्बेड करना संभव है ।
नाथन उस्मान

हाँ, यदि आप इंटरनेट की अधिकांश सामग्री का त्याग करने को तैयार हैं, तो आप बैंडविड्थ को कम कर सकते हैं। तार्किक लगता है ... चलो यह मत भूलो कि 78% इंटरनेट वीडियो ट्रैफ़िक है ...
corsiKa

25

मुझे शक होगा कि वे ऐसा करते हैं। मुझे विश्वास नहीं है कि पाठ-आधारित ब्राउज़र (डिफ़ॉल्ट रूप से) यहां तक ​​कि संसाधन जैसे कि चित्र या बाहरी निकाय, जैसे कि फ़ॉन्ट (यदि आवश्यक हो), स्क्रिप्ट आदि डाउनलोड कर सकते हैं।

मैंने tcpdump के साथ कुछ बुनियादी परीक्षण किया, जो इस IANA पृष्ठ को प्राप्त करने की कोशिश कर रहा है ( http://www.iana.org/domains/reserved ) दोनों lynx के साथ और फिर wget, और यहाँ मेरे परिणाम थे (केवल 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 ब्राउज़र आमतौर पर पाठ आधारित ब्राउज़रों की तुलना में अधिक नेटवर्क ट्रैफ़िक का कारण होगा।


मुझे नहीं लगता कि wgetब्राउज़र माना जा सकता है। बेहतर के साथ elinksया कुछ इसी तरह की कोशिश करो ।
डार्कहॉग

इसलिए मैंने wgetबस HTTP के सभी अनुरोधों और प्रतिक्रियाओं को प्रदर्शित करने के लिए उपयोग किया जो कि किए जाएंगे। -pपैरामीटर निम्नलिखित के रूप में परिभाषित किया गया है: -p, --page-requisites get all images, etc. needed to display HTML page.। मैं एक वास्तविक GUI ब्राउज़र का उपयोग नहीं करना चाहता था क्योंकि वे अन्य अनुरोध करने के लिए करते हैं जिन्हें मैं फ़िल्टर नहीं करना चाहता था।
prateek61

3
मुझे भी यह उत्तर पसंद है। गर्भ निरीक्षण दिलचस्प था।
पौलब

1

मुझे लगता है कि पाठ आधारित ब्राउजर स्थानांतरित डेटा की मात्रा को काफी कम कर देगा क्योंकि वे उन सभी फूला हुआ वेब 2.0 उच्च रिज़ॉल्यूशन इमेज, वीडियो और इंटरेक्टिव सामान (फ्लैश और अन्य) का अनुरोध नहीं करेंगे।

मेरा सुझाव है कि आप केवल एक IPtables नियम की स्थापना करके इसका परीक्षण करें जो एक विशिष्ट IPtables नियम से टकराने वाले ट्रैफ़िक की मात्रा की गणना करेगा।

उदाहरण के लिए, ट्रैफ़िक काउंटिंग के साथ पोर्ट 80 + 443 के लिए एक नियम बनाएं और वेब को एक सामान्य ब्राउज़र से ब्राउज़ करें, IPtables काउंटर को रीसेट करें और टेक्स्टबेड ब्राउज़र के साथ भी ऐसा ही करें।

ध्यान रखें कि आप दोनों 100% की तुलना नहीं कर सकते हैं क्योंकि डायनेमिक वेब कॉन्टेंट (विज्ञापन और सामान) प्रत्येक एक्सेस पर भिन्न हो सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.