टीसीपी कनेक्शन और पावती कैसे काम करती है, इस बारे में अधिक जानकारी के लिए, डिओगो का जवाब देखें
जब आप किसी साइट पर जाते हैं, तो ऐसा कुछ होता है:
आपके DNS सर्वर (यदि पहले से नहीं किया गया है) के साथ एक कनेक्शन बनाया गया है, जिसमें आपके कंप्यूटर को पहले से ही पता है (या कुछ स्वचालित तंत्र के माध्यम से जो आपके आईएसपी से इस जानकारी का अनुरोध करता है), कनेक्ट करने और कनेक्शन को स्वीकार करने के लिए पैकेट भेज रहा है। तैयार किया गया है। कनेक्शन किए जाने के बाद, आपकी साइट आपके द्वारा देखी गई साइट का आईपी पता पूछती है, ताकि यह पता चले कि साइट प्राप्त करने के लिए किस कंप्यूटर से संपर्क करना है। इसका मतलब यह है कि यह प्रतिक्रिया प्राप्त करने के लिए डोमेन नाम वाला एक पैकेट भेजता है। बाद में यह कनेक्शन बंद करने के लिए एक पैकेट भी भेजता है।
वेब सर्वर से एक कनेक्शन बनाया जाता है जो उस साइट को होस्ट करता है जिसे आप देखना चाहते हैं, यह फिर से कनेक्ट करने और कनेक्शन को स्वीकार करने के लिए एक पैकेट भेजता है। इसके बाद यह उस पृष्ठ के लिए एक अनुरोध करता है जिसे आप देखना चाहते हैं, फिर से एक पैकेट भेजना। तब यह प्रतिक्रिया करता है और आपको वेब पेज का HTML मिलता है जो पेज की संरचना (लेआउट नहीं) को इंगित करता है।
क्योंकि आपके पास केवल संरचना है, आपको अभी भी बाकी लाने की आवश्यकता है। तो, अतिरिक्त अनुरोध (एक एसयू प्रश्न 40 अनुरोधों की तरह है) लिपियों, शैलियों और मीडिया को छवियों और इसी तरह प्राप्त करने के लिए किया जाता है। और क्योंकि इनमें से कुछ उसी वेब सर्वर पर नहीं हो सकते हैं जो आप जाते हैं, अतिरिक्त DNS रिज़ॉल्यूशन आपको चरण 1 पर वापस ला सकता है।
उस सब के ऊपर, ध्यान दें कि आपके द्वारा प्राप्त किए गए प्रत्येक पैकेट को डेटा के एक और स्रोत को जोड़ने के लिए स्वीकार किया जाता है जो अपलोड हो जाता है, पैकेट पर अतिरिक्त रूप से एक ही बार में कई पैकेट स्वीकार किए जाते हैं। इस प्रकार, जब आप कुछ प्राप्त करते हैं तो आप सर्वर को भेजेंगे जो आपने इसे प्राप्त किया है इसलिए यह जानता है कि यह जो भेजता है वह कहीं खो नहीं गया। इस तरह, सर्वर को फिर से भेजने की कोशिश नहीं करनी पड़ती।
लब्बोलुआब यह है कि आप पहले सर्वर से कुछ अनुरोधों को जोड़ने और अपलोड करने के बिना कुछ डाउनलोड नहीं कर सकते हैं। और यही एक छोटे से अपलोड के लिए बनाता है ...
और ऐसा नहीं है कि आप केवल क्लिक करते हैं, आप उससे अधिक करते हैं, आइए अपने प्रश्न को एक उदाहरण के रूप में लेते हैं: आपने लगभग 500 वर्ण टाइप किए हैं, एक चरित्र 1 बाइट के रूप में गिना जाता है (यदि ASCII वर्ण, सभी इस मामले में हैं) और हो सकता है 1 से 4 बाइट्स (यदि एक यूनिकोड वर्ण) से। तो, आपका प्रश्न वास्तव में 0.5 KB या 0.00005 MB लेता है! लेकिन यह सिर्फ सवाल नहीं है जो हमें भेजा जाता है, यह एक POST या AJAX अनुरोध से घिरा हुआ है जो सर्वर को आपके प्रश्न और पैकेट हेडर को स्वयं स्टोर करने के लिए कहता है।
यदि आप सब कुछ जोड़ते हैं तो कुछ घंटों में कुछ मेगाबाइट तक पहुंचना उचित हो जाता है।