क्या प्रत्येक HTTP अनुरोधों के लिए ब्राउज़र नए TCP कनेक्शन बनाते हैं?


23

इसलिए मुझे पता है कि HTTP मूल रूप से टीसीपी पर सिर्फ एक पाठ प्रोटोकॉल है, और टीसीपी राज्य / कनेक्शन आधारित है। इसका मतलब है कि ब्राउज़र को HTTP अनुरोध करने से पहले टीसीपी को एक सर्वर से कनेक्ट करना होगा। प्रश्न फिर: क्या ब्राउज़र आमतौर पर प्रत्येक HTTP अनुरोध के लिए एक नया टीसीपी कनेक्शन बनाते हैं?

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

जवाबों:


30

HTTP / 0.9 (अब उपयोग नहीं किया गया) में, प्रत्येक अनुरोध ने एक अलग टीसीपी कनेक्शन का उपयोग किया था, और कनेक्शन को बंद करके प्रतिक्रिया के अंत का संकेत दिया गया था।

HTTP / 1.0 में, अलग-अलग कनेक्शन अभी भी आधिकारिक डिफ़ॉल्ट हैं। हालांकि, एक अनौपचारिक लेकिन बहुत व्यापक रूप से समर्थित " Connection: Keep-Alive" हैडर का उपयोग सर्वर से समर्थन करने पर एक स्थायी कनेक्शन का अनुरोध करने के लिए किया जा सकता है।

HTTP / 1.1 में, लगातार कनेक्शन डिफ़ॉल्ट हो गए , और पुराने एकल-अनुरोध व्यवहार को स्पष्ट रूप से अनुरोध करना होगा। आमतौर पर कई (2-5) लगातार कनेक्शन का उपयोग किया जाता है।

(वैकल्पिक रूप से अनुरोधों को पाइपलाइन किया जा सकता है , हालांकि इसे लागू करना मुश्किल हो जाता है और इसे हल करने (हेड-ऑफ-लाइन ब्लॉकिंग, आदि) की तुलना में अधिक समस्याएं पैदा होती हैं, इसलिए कोई भी HTTP / 1.x पाइपलाइनिंग का उपयोग नहीं करता है।)

HTTP / 2 (उर्फ SPDY ) को विशेष रूप से एक ही समय में कई अनुरोधों को मल्टीप्लेक्स करने के लिए डिज़ाइन किया गया था। इसमें एक फ्रेमिंग / पैकटाइजेशन लेयर है, जो किसी भी क्रम में और यहां तक ​​कि साथ-साथ प्रतिक्रियाओं को पहुंचने देता है।

संसाधन: विकिपीडिया लेख और RFC 2616 खंड 8.1



6

"कनेक्शन: कीप-अलाइव" हैडर है। देखें enwiki जानकारी के लिए।

आप कनेक्शनों को पकड़ने और उनका विश्लेषण करने और सभी हेडर को देखने के लिए विंडसर का उपयोग कर सकते हैं।


फिडलर की जगह विंडसर क्यों?
पचेरियर

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