HTTP Three-Way Handshake

एचटीटीपी के अंतर्गत 3 way हैंड शेकिंग क्या है?

HTTP के संदर्भ में 3-वे हैंडशेकिंग (Three-Way Handshake) वास्तव में TCP प्रोटोकॉल की एक प्रक्रिया है, क्योंकि HTTP एक एप्लिकेशन-लेयर प्रोटोकॉल है जो TCP के ऊपर काम करता है। 3-वे हैंडशेकिंग का उद्देश्य क्लाइंट और सर्वर के बीच एक विश्वसनीय TCP कनेक्शन स्थापित करना है, ताकि HTTP रिक्वेस्ट और रिस्पांस का आदान-प्रदान हो सके।

3-वे हैंडशेकिंग प्रक्रिया:

  1. SYN (Synchronize):
    • क्लाइंट सर्वर को एकSYN पैकेट भेजता है, जिसमें एक रैंडम सीक्वेंस नंबर (जैसे X) होता है। यह दर्शाता है कि क्लाइंट कनेक्शन शुरू करना चाहता है।
  2. SYN-ACK (Synchronize-Acknowledgment):
    • सर्वर क्लाइंट के SYN को प्राप्त करता है और जवाब में एकSYN-ACK पैकेट भेजता है। इसमें:
  • एक नया रैंडम सीक्वेंस नंबर (जैसे Y) होता है।
  • क्लाइंट के सीक्वेंस नंबर (X) का acknowledgment (ACK = X+1) होता है।
  • यह दर्शाता है कि सर्वर ने क्लाइंट का अनुरोध स्वीकार कर लिया है और वह भी कनेक्शन के लिए तैयार है।
  1. ACK (Acknowledgment):
    • क्लाइंट सर्वर के SYN-ACK को प्राप्त करता है और जवाब में एकACK पैकेट भेजता है, जिसमें सर्वर के सीक्वेंस नंबर (Y) का acknowledgment (ACK = Y+1) होता है।
    • इस चरण के बाद, दोनों पक्षों के बीच TCP कनेक्शन स्थापित हो जाता है।

HTTP से संबंध:

  • HTTP रिक्वेस्ट भेजने से पहले, यह TCP 3-वे हैंडशेकिंग होती है ताकि एक विश्वसनीय कनेक्शन बन सके।
  • कनेक्शन स्थापित होने के बाद ही क्लाइंट HTTP रिक्वेस्ट (जैसे GET, POST) भेजता है, और सर्वर HTTP रिस्पांस देता है।
  • HTTPS के मामले में, हैंडशेकिंग के बाद TLS/SSL हैंडशेक भी होता है, जो सुरक्षित कनेक्शन के लिए अतिरिक्त कदम जोड़ता है।

उद्देश्य:

  • विश्वसनीयता: यह सुनिश्चित करता है कि दोनों पक्ष (क्लाइंट और सर्वर) डेटा भेजने और प्राप्त करने के लिए तैयार हैं।
  • डेटा क्रम: सीक्वेंस नंबर डेटा पैकेट्स के सही क्रम और अखंडता को बनाए रखने में मदद करते हैं।
  • कनेक्शन प्रबंधन: कनेक्शन शुरू करने और बंद करने का एक व्यवस्थित तरीका प्रदान करता है।

संक्षेप में, 3-वे हैंडशेकिंग TCP के माध्यम से HTTP संचार के लिए आधार तैयार करती है, जिससे डेटा का आदान-प्रदान सुरक्षित और व्यवस्थित होता है।


अब इस शब्द के प्रयोग के पीछे क्या कारण है, यह समझते हैं:

"3-वे हैंडशेकिंग" शब्द का प्रयोग TCP कनेक्शन स्थापित करने की प्रक्रिया के लिए इसलिए किया जाता है, क्योंकि इसमें तीन चरणों (three steps) का एक व्यवस्थित आदान-प्रदान (handshake) होता है। इस शब्द के पीछे का कारण इस प्रक्रिया की प्रकृति और उद्देश्य से जुड़ा है। आइए इसे स्पष्ट करें:

शब्द "3-वे हैंडशेकिंग" का अर्थ और कारण:

  1. "हैंडशेकिंग" (Handshake):
    • हैंडशेक शब्द का उपयोग संचार में तब होता है जब दो पक्ष (यहां क्लाइंट और सर्वर) एक-दूसरे के साथ संचार शुरू करने के लिए सहमति बनाते हैं। यह एक तरह का "हाथ मिलाना" है, जैसे दो लोग मिलने पर हाथ मिलाकर बातचीत शुरू करते हैं।
    • TCP में, यह हैंडशेक यह सुनिश्चित करता है कि दोनों पक्ष डेटा भेजने और प्राप्त करने के लिए तैयार हैं।
  2. "3-वे" (Three-Way):
    • "3-वे" इसलिए कहा जाता है क्योंकि कनेक्शन स्थापित करने के लिएतीन संदेशों (messages) का आदान-प्रदान होता है:
      1. क्लाइंट से सर्वर कोSYN (सिंक्रनाइज़)।
      2. सर्वर से क्लाइंट कोSYN-ACK (सिंक्रनाइज़ और Acknowledgment)।
      3. क्लाइंट से सर्वर कोACK (Acknowledgment)।
    • ये तीन चरण एक-दूसरे पर निर्भर हैं और क्रमबद्ध तरीके से होते हैं, जो कनेक्शन को विश्वसनीय बनाते हैं।
  3. नामकरण का कारण:
    • यह प्रक्रिया एक त्रिपक्षीय (three-way) सहमति की तरह काम करती है, जहां दोनों पक्ष एक-दूसरे की उपस्थिति और तत्परता को सत्यापित करते हैं।
    • "3-वे" शब्द इस बात पर जोर देता है कि यह एक साधारण एक-तरफा या दो-तरफा संचार नहीं है, बल्कि दोनों पक्षों के बीच पूर्ण सहमति के लिए तीन चरणों की आवश्यकता होती है।
    • यह नाम तकनीकी रूप से इस प्रक्रिया की जटिलता और पूर्णता को दर्शाता है, जो TCP की विश्वसनीयता का आधार है।

उदाहरण से समझें:

  • मान लें आप किसी से फोन पर बात शुरू करना चाहते हैं:
    1. आप कॉल करते हैं और कहते हैं, "हैलो, क्या आप सुन रहे हैं?" (SYN)
    2. दूसरा व्यक्ति जवाब देता है, "हां, मैं सुन रहा हूं, क्या आप मुझे सुन रहे हैं?" (SYN-ACK)
    3. आप पुष्टि करते हैं, "हां, मैं सुन रहा हूं, अब बात शुरू करें।" (ACK)
  • इस तरह, तीन चरणों में दोनों पक्ष बातचीत के लिए तैयार हो जाते हैं। TCP में भी यही होता है, और इसे इसलिए "3-वे हैंडशेकिंग" कहते हैं।

संक्षेप में:

"3-वे हैंडशेकिंग" शब्द इस प्रक्रिया के तीन चरणों और सहमति-आधारित संचार (handshake) की प्रकृति को दर्शाता है। यह नाम इस बात को रेखांकित करता है कि कनेक्शन स्थापित करने के लिए दोनों पक्षों के बीच एक व्यवस्थित, त्रिस्तरीय पुष्टिकरण जरूरी है, जो TCP की विश्वसनीयता सुनिश्चित करता है।

टिप्पणियाँ

इस ब्लॉग से लोकप्रिय पोस्ट

Differences between in-process and out-of-process hosting models

Web Fundamental Concepts in Hindi for Beginners - FAQs with their Answers Part-1

Introduction to ASP.NET Core and Web Frameworks