यह सामग्री "उद्यम विकास का परिचय" श्रृंखला का हिस्सा है। पिछले लेख:
नमस्ते! आज हम HTTP और HTTPS प्रोटोकॉल के बारे में जानेंगे। लेकिन पहले, आइए एक बिंदु स्पष्ट करें: हम OSI मॉडल के अनुप्रयोग स्तर पर एक नेटवर्क पर डेटा भेजने के लिए प्रोटोकॉल के बारे में बात कर रहे हैं। आपको याद होगा कि OSI मॉडल के बारे में हमें पिछले लेखों में से एक में पता चला था। यदि आपको वह याद नहीं है, तो यहाँ है ।
HTTP प्रोटोकॉल बहुत व्यावहारिक है: यह बड़ी संख्या में हेडर प्रदान करता है, जिसका उपयोग आप क्लाइंट और सर्वर के बीच बहुत ही लचीले संचार की व्यवस्था करने के लिए कर सकते हैं। एक लेख के लिए सभी अनुरोधों और प्रतिक्रिया शीर्षलेखों, अनुरोध विधियों और प्रतिक्रिया स्थिति कोडों पर पूर्ण विचार करना बहुत अधिक होगा। यदि आपको जरूरत है, तो आप प्रोटोकॉल के आधिकारिक विनिर्देश को पढ़ सकते हैं, जो सभी बारीकियों का वर्णन करता है। यह पोर्ट 80 पर HTTP प्रोटोकॉल का उपयोग करने के लिए प्रथागत है, इसलिए जब आप एक URL देखते हैं जो पोर्ट 80 के साथ समाप्त होता है, तो आप आश्वस्त हो सकते हैं कि आपको इसे एक्सेस करने के लिए HTTP का उपयोग करने की आवश्यकता है। जैसे-जैसे तकनीक विकसित हुई और व्यक्तिगत डेटा इंटरनेट पर भेजा जाने लगा, यह सोचना आवश्यक हो गया कि क्लाइंट द्वारा सर्वर को भेजी जाने वाली जानकारी के लिए अतिरिक्त सुरक्षा कैसे प्रदान की जाए। इसी सोच का नतीजा था HTTPS प्रोटोकॉल।

डेटा संचार प्रोटोकॉल क्या है?
इसे हम नियमों का सहमत सेट कहते हैं जो विभिन्न सेवाओं के विकासकर्ताओं को ऐसे प्रारूप में जानकारी भेजने की अनुमति देता है जिसे अन्य लोग समझ सकें। उदाहरण के लिए, आप Facebook और Twitter दोनों से जानकारी प्राप्त करने के लिए Google Chrome का उपयोग कर सकते हैं, क्योंकि डेवलपर इसे मानक HTTP प्रोटोकॉल का उपयोग करके भेजते हैं, जो आपके ब्राउज़र को इसे संसाधित करने की अनुमति देता है। सर्वर भाग को विकसित करने वाले लोगों के लिए समान नियम बहुत सुविधाजनक हैं: बहुत सारे पुस्तकालय हैं जो आपके लिए जानकारी को परिवर्तित कर सकते हैं और उपयुक्त प्रोटोकॉल का उपयोग करके भेज सकते हैं। शुरुआत में HTTP की कल्पना HTML पेज भेजने के लिए एक प्रोटोकॉल के रूप में की गई थी। लंबे समय तक इसे इसी तरह इस्तेमाल किया जाता था, लेकिन अब प्रोग्रामर अक्सर इसका इस्तेमाल स्ट्रिंग्स और मीडिया फाइल्स दोनों को भेजने के लिए करते हैं। सामान्य तौर पर, यह प्रोटोकॉल सार्वभौमिक रूप से स्वीकृत और बहुमुखी है, और इसका उपयोग करना वास्तव में आसान है। और अब हम इसका पता लगाएंगे कि इसका उपयोग कैसे किया जाए।HTTP की संरचना
हमें तुरंत ध्यान देना चाहिए कि HTTP प्रोटोकॉल में केवल टेक्स्ट होता है। इस पाठ की संरचना में हमें सबसे अधिक रुचि क्या है। प्रत्येक संदेश में तीन भाग होते हैं:- स्टार्ट लाइन - यह कुछ हाउसकीपिंग डेटा को परिभाषित करता है।
- शीर्षलेख - ये संदेश पैरामीटर का वर्णन करते हैं।
- मुख्य भाग - यह संदेश की सामग्री है। मुख्य भाग को हेडर से एक खाली रेखा द्वारा अलग किया जाना चाहिए।
यहाँ एक साधारण HTTP अनुरोध कैसा दिखता है:
GET / HTTP/1.1
Host: codegym.cc
User-Agent: firefox/5.0 (Linux; Debian 5.0.8; en-US; rv:1.8.1.7)
प्रारंभ रेखा इंगित करती है:
- प्राप्त करें - अनुरोध की विधि
- / — अनुरोध का पथ
- HTTP/1.1 — प्रोटोकॉल संस्करण
- होस्ट - वह होस्ट जिसके लिए अनुरोध किया गया है
- उपयोगकर्ता-एजेंट - ग्राहक अनुरोध भेज रहा है
https://cdn.codegym.cc/images/article/155cea79-acfd-4968-9361-ad585e939b82/original.pngsend?name1=value1&name2=value2
जहाँ codegym.cc होस्ट है, /send अनुरोध का पथ है, और ? एक विभाजक है जो इंगित करता है कि क्वेरी पैरामीटर अनुसरण करते हैं। अंत में, कुंजी-मूल्य जोड़े ("कुंजी = मान") सूचीबद्ध हैं, एक एम्परसेंड द्वारा अलग किए गए हैं। पोस्ट - यह विधि सर्वर पर जानकारी प्रकाशित करती है। एक POST अनुरोध विभिन्न प्रकार की जानकारी भेज सकता है: पैरामीटर "कुंजी = मान" जोड़े, JSON, HTML कोड, या यहां तक कि फ़ाइलें। सभी जानकारी संदेश के मुख्य भाग में भेजी जाती है। उदाहरण के लिए:
POST /user/create/json HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: 28
Host: codegym.cc
{
"Id": 12345,
"User": "John"
}
अनुरोध codegym.cc/user/create/json पर भेजा जाता है, और प्रोटोकॉल संस्करण HTTP/1.1 है। "स्वीकार करें" उस प्रतिक्रिया प्रारूप को इंगित करता है जिसे ग्राहक प्राप्त करने की अपेक्षा करता है। "सामग्री-प्रकार" अनुरोध में भेजे गए संदेश निकाय के प्रारूप को इंगित करता है। "सामग्री-लंबाई" शरीर में वर्णों की संख्या है। एक HTTP अनुरोध में कई अलग-अलग शीर्षलेख हो सकते हैं। अधिक जानकारी के लिए, प्रोटोकॉल के विनिर्देशन पर एक नज़र डालें ।
HTTP प्रतिक्रियाएँ
अनुरोध प्राप्त करने के बाद, सर्वर इसे संसाधित करता है और क्लाइंट को प्रतिक्रिया भेजता है:HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 98
<html>
<head>
<title>An Example Page</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>
प्रतिक्रिया की प्रारंभ रेखा में प्रोटोकॉल संस्करण (HTTP/1.1), स्थिति कोड (200), और स्थिति विवरण (ठीक) शामिल हैं। इसके शीर्षकों में सामग्री का प्रकार और लंबाई शामिल होती है। प्रतिक्रिया निकाय में HTML कोड होता है जिसे ब्राउज़र HTML पृष्ठ के रूप में प्रस्तुत करता है।
प्रतिक्रिया स्थिति कोड
संदेश के मुख्य भाग और शीर्षलेखों के बारे में सब कुछ स्पष्ट है, लेकिन हमें स्थिति कोड के बारे में कुछ शब्द कहने चाहिए। प्रतिक्रिया स्थिति कोड हमेशा तीन अंकों का होता है। कोड का पहला अंक प्रतिक्रिया की श्रेणी को इंगित करता है:- 1xx - सूचनात्मक। अनुरोध प्राप्त हुआ था। सर्वर जारी रखने के लिए तैयार है।
- 2xx - सफल। अनुरोध प्राप्त हुआ, समझा गया और संसाधित किया गया।
- 3xx - पुनर्निर्देशन। अनुरोध को संसाधित करने के लिए अतिरिक्त क्रियाएं की जानी चाहिए।
- 4xx - क्लाइंट त्रुटि। अनुरोध में त्रुटियां हैं या प्रोटोकॉल का पालन नहीं करता है।
- 5xx - सर्वर त्रुटि। अनुरोध सही तरीके से तैयार किया गया था, लेकिन सर्वर इसे प्रोसेस नहीं कर सका।
- 200 ओके - अनुरोध प्राप्त हुआ और सफलतापूर्वक संसाधित किया गया।
- 201 बनाया गया - अनुरोध प्राप्त हुआ और सफलतापूर्वक संसाधित किया गया, जिसके परिणामस्वरूप एक नया संसाधन या उदाहरण बनाया गया।
- 301 स्थायी रूप से स्थानांतरित - अनुरोधित संसाधन स्थायी रूप से स्थानांतरित किया गया था। इसके बाद के अनुरोध नए पते का उपयोग करके किए जाने चाहिए।
- 307 अस्थायी पुनर्निर्देशन - संसाधन को अस्थायी रूप से स्थानांतरित कर दिया गया है। अभी के लिए, इसे स्वचालित अग्रेषण का उपयोग करके एक्सेस किया जा सकता है।
- 403 निषिद्ध - अनुरोध समझ में आया, लेकिन प्राधिकरण की आवश्यकता है।
- 404 नहीं मिला — सर्वर को इस पते पर संसाधन नहीं मिला।
- 501 लागू नहीं किया गया — सर्वर अनुरोध का जवाब देने के लिए आवश्यक कार्यक्षमता का समर्थन नहीं करता है।
- 505 HTTP संस्करण समर्थित नहीं — सर्वर HTTP प्रोटोकॉल के निर्दिष्ट संस्करण का समर्थन नहीं करता है।
GO TO FULL VERSION