जब आप ब्राउज़र में URL टाइप करते हैं तो क्या होता है [बंद]


293

क्या कोई मुझे बता सकता है कि ब्राउज़र में किसी URL में टाइप करने के समय से लेकर ब्राउज़र पर पेज देखने तक का समय क्या होता है? प्रक्रिया का विस्तृत ब्यौरा बहुत मदद करेगा।


2
यद्यपि यह प्रोग्रामिंग से संबंधित (अंततः) हो सकता है - विस्तार का वह स्तर जिसके बारे में यह उत्तर दिया जा सकता है (और है) भरे हुए वॉल्यूम। कृपया प्रोग्रामिंग क्वेरी के रूप में आराम करें।
केविनडिम

28
O'Reilly की DNS और Bind बुक प्राप्त करें। यह केवल 624 पृष्ठ है।
विले होलब्रैन्ड्स

7
edusagar.com/articles/view/70/… यह सबसे अच्छा संभव जवाब है!
शिवेंद्र

1
पोस्टरिटी की खातिर, यहां एक विस्तृत संस्करण है कि इंटरनेट कैसे काम करता है - goo.gl/eEHmpZ
अश्विन कृष्णमूर्ति

4
अब इसका यथासंभव जवाब देने के लिए एक सहयोगी प्रयास है: github.com/alex/what-happens-when/blob/master/README.rst
पिस्कॉर ने इमारत

जवाबों:


587

ध्यान दें: यह एक अत्यंत कठिन और अति- संक्षिप्त स्केच है, सरलतम HTTP अनुरोध (कोई HTTPS, कोई HTTP2, कोई अतिरिक्त नहीं), सरलतम DNS, कोई प्रॉक्सी, एकल-स्टैक IPv4, एक HTTP अनुरोध केवल, एक सरल HTTP सर्वर पर संभव मानते हुए। दूसरे छोर, और किसी भी कदम में कोई समस्या नहीं है। यह सबसे समकालीन इरादों और उद्देश्यों के लिए है, एक अवास्तविक परिदृश्य; ये सभी वास्तविक उपयोग में कहीं अधिक जटिल हैं, और तकनीक स्टैक परिमाण का एक क्रम बन गया है क्योंकि यह लिखा गया था। इसे ध्यान में रखते हुए, निम्नलिखित समयरेखा अभी भी कुछ हद तक मान्य है:

  1. ब्राउज़र कैश की जांच करता है; यदि अनुरोधित वस्तु कैश में है और ताज़ा है, तो # 9 पर जाएं
  2. ब्राउज़र सर्वर के आईपी पते के लिए ओएस पूछता है
  3. OS एक DNS लुकअप बनाता है और ब्राउज़र को IP एड्रेस रिप्लाई करता है
  4. ब्राउज़र सर्वर से एक टीसीपी कनेक्शन खोलता है (यह कदम HTTPS के साथ अधिक जटिल है)
  5. ब्राउज़र HTTP कनेक्शन को टीसीपी कनेक्शन के माध्यम से भेजता है
  6. ब्राउज़र HTTP प्रतिसाद प्राप्त करता है और TCP कनेक्शन को बंद कर सकता है, या किसी अन्य अनुरोध के लिए इसका पुन: उपयोग कर सकता है
  7. यदि ब्राउज़र पुनर्निर्देशित या सशर्त प्रतिक्रिया (3xx परिणाम स्थिति कोड), प्राधिकरण अनुरोध (401), त्रुटि (4xx और 5xx), आदि; इन्हें सामान्य प्रतिक्रियाओं (2xx) से अलग तरीके से संभाला जाता है
  8. यदि कैश करने योग्य है, तो प्रतिक्रिया कैश में संग्रहीत की जाती है
  9. ब्राउज़र डिकोड प्रतिक्रिया (उदाहरण के लिए अगर यह gzipped है)
  10. ब्राउज़र निर्धारित करता है कि प्रतिक्रिया के साथ क्या करना है (जैसे यह एक HTML पृष्ठ है, क्या यह एक छवि है, क्या यह एक ध्वनि क्लिप है?)
  11. ब्राउज़र प्रतिसाद देता है, या अपरिचित प्रकारों के लिए डाउनलोड संवाद प्रदान करता है

फिर, इनमें से प्रत्येक बिंदु की चर्चा ने अनगिनत पृष्ठ भरे हैं; इसे केवल एक सारांश के रूप में लें, स्पष्टता के लिए संक्षिप्त। इसके अलावा, इसके समानांतर कई अन्य चीजें हो रही हैं (टाइप किए गए पते को संसाधित करना, सट्टा पूर्व-निर्धारित करना, ब्राउज़र इतिहास में पेज जोड़ना, उपयोगकर्ता की प्रगति प्रदर्शित करना, प्लगइन्स और एक्सटेंशन को सूचित करना, डाउनलोड करते समय पृष्ठ को रेंडर करना, पाइप लाइनिंग, कनेक्शन ट्रैकिंग) रख-रखाव, कुकी प्रबंधन, दुर्भावनापूर्ण सामग्री के लिए जाँच आदि) - और पूरे ऑपरेशन को HTTPS (प्रमाण पत्र और सिफर और पिनिंग, ओह माय!) के साथ अधिक जटिल होने का आदेश मिलता है।


चरण 4 में https अनुरोधों के मामले में क्या होगा, क्या आप थोड़ा और समझा सकते हैं?
मोहम्मद रहीम

2
यह इस उत्तर के दायरे से परे है। लेकिन ऊपर दिए गए जीएच पेज की जांच करें, यह एक संक्षिप्त अवलोकन देता है: github.com/alex/what-happens-when/blob/master/…
Piskvor ने बिल्डिंग

41

पहले कंप्यूटर गंतव्य होस्ट को देखता है। यदि यह स्थानीय DNS कैश में मौजूद है, तो यह उस जानकारी का उपयोग करता है। अन्यथा, जब तक IP पता नहीं मिलता तब तक DNS क्वेरी की जाती है।

उसके बाद, आपका ब्राउज़र गंतव्य होस्ट के लिए एक टीसीपी कनेक्शन खोलता है और HTTP 1.1 के अनुसार अनुरोध भेजता है (या HTTP 1.0 का उपयोग कर सकता है, लेकिन सामान्य ब्राउज़र इसे और अधिक नहीं करते हैं)।

सर्वर आवश्यक संसाधन को देखता है (यदि यह मौजूद है) और HTTP प्रोटोकॉल का उपयोग करके प्रतिक्रिया करता है, ग्राहक को डेटा भेजता है (= आपका ब्राउज़र)

ब्राउज़र तब HTML संरचना का उपयोग करता है जो दस्तावेज़ संरचना को फिर से बनाता है जिसे बाद में स्क्रीन पर आपके सामने प्रस्तुत किया जाता है। यदि यह बाहरी संसाधनों, जैसे कि चित्र, सीएसएस फ़ाइलें, जावास्क्रिप्ट फ़ाइलों के संदर्भ पाता है, तो इन्हें उसी तरह वितरित किया जाता है जैसे कि HTML दस्तावेज़।


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