ही सामग्री "एंटरप्राइज डेव्हलपमेंटची ओळख" मालिकेचा भाग आहे. मागील लेख:
हाय! आज आपण HTTP आणि HTTPS प्रोटोकॉलबद्दल जाणून घेणार आहोत. परंतु प्रथम, एक मुद्दा स्पष्ट करूया: आम्ही OSI मॉडेलच्या ऍप्लिकेशन स्तरावर नेटवर्कवर डेटा पाठवण्यासाठी प्रोटोकॉलबद्दल बोलत आहोत. तुम्हाला आठवत असेल की मागील लेखांपैकी एका लेखात आम्हाला OSI मॉडेलची माहिती मिळाली होती. जर तुम्हाला ते आठवत नसेल, तर ते येथे आहे .
डेटा कम्युनिकेशन प्रोटोकॉल म्हणजे काय?
याला आम्ही नियमांचा सहमती संच म्हणतो जे विविध सेवांच्या विकासकांना इतरांना समजेल अशा स्वरूपात माहिती पाठवण्याची परवानगी देतात. उदाहरणार्थ, तुम्ही Facebook आणि Twitter या दोन्हींकडून माहिती मिळवण्यासाठी Google Chrome वापरू शकता, कारण डेव्हलपर ते मानक HTTP प्रोटोकॉल वापरून पाठवतात, जे तुमच्या ब्राउझरवर प्रक्रिया करू देतात. सर्व्हरचा भाग विकसित करणार्या लोकांसाठी एकसमान नियम अतिशय सोयीस्कर आहेत: अशी बरीच लायब्ररी आहेत जी तुमच्यासाठी माहिती रूपांतरित करू शकतात आणि योग्य प्रोटोकॉल वापरून पाठवू शकतात. एचटीटीपीची सुरुवात एचटीएमएल पेजेस पाठवण्यासाठी प्रोटोकॉल म्हणून करण्यात आली होती. बर्याच काळापासून ते असेच वापरले जात होते, परंतु आता प्रोग्रामर बहुतेकदा स्ट्रिंग आणि मीडिया फाइल्स दोन्ही पाठवण्यासाठी वापरतात. सर्वसाधारणपणे, हा प्रोटोकॉल सर्वत्र स्वीकृत आणि बहुमुखी आहे आणि तो वापरणे खरोखर सोपे आहे. आणि आता आम्ही ते कसे वापरायचे ते तपासू.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)
प्रारंभ ओळ सूचित करते:
- GET — विनंतीची पद्धत
- / — विनंतीचा मार्ग
- HTTP/1.1 — प्रोटोकॉल आवृत्ती
- होस्ट - ज्या होस्टला विनंती संबोधित केली जाते
- वापरकर्ता-एजंट - विनंती पाठवणारा क्लायंट
https://cdn.codegym.cc/images/article/155cea79-acfd-4968-9361-ad585e939b82/original.pngsend?name1=value1&name2=value2
जेथे codegym.cc होस्ट आहे, /send विनंतीचा मार्ग आहे, आणि ? एक विभाजक आहे जो सूचित करतो की क्वेरी पॅरामीटर्स फॉलो करतात. शेवटी, की-व्हॅल्यू जोड्या ("key=value") सूचीबद्ध केल्या जातात, अँपरसँडने विभक्त केल्या जातात. पोस्ट - ही पद्धत सर्व्हरवर माहिती प्रकाशित करते. POST विनंती विविध प्रकारची माहिती पाठवू शकते: "key=value" जोड्या, 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), आणि स्थिती वर्णन (OK) समाविष्ट आहे. त्याच्या शीर्षलेखांमध्ये सामग्रीचा प्रकार आणि लांबी समाविष्ट आहे. प्रतिसादाच्या मुख्य भागामध्ये HTML कोड असतो जो ब्राउझर HTML पृष्ठ म्हणून प्रस्तुत करतो.
प्रतिसाद स्थिती कोड
संदेशाच्या मुख्य भाग आणि शीर्षलेखांबद्दल सर्व काही स्पष्ट आहे, परंतु आम्ही स्थिती कोडबद्दल काही शब्द बोलले पाहिजेत. प्रतिसाद स्थिती कोड नेहमी तीन अंकी असतात. कोडचा पहिला अंक प्रतिसादाची श्रेणी दर्शवतो:- 1xx — माहितीपूर्ण. विनंती प्राप्त झाली. सर्व्हर सुरू ठेवण्यासाठी तयार आहे.
- 2xx - यशस्वी. विनंती प्राप्त झाली, समजली आणि त्यावर प्रक्रिया केली गेली.
- 3xx - पुनर्निर्देशन. विनंतीवर प्रक्रिया करण्यासाठी अतिरिक्त क्रिया करणे आवश्यक आहे.
- 4xx — क्लायंट एरर. विनंतीमध्ये त्रुटी आहेत किंवा प्रोटोकॉलचे पालन करत नाही.
- 5xx - सर्व्हर त्रुटी. विनंती योग्यरित्या तयार केली गेली होती, परंतु सर्व्हर त्यावर प्रक्रिया करू शकला नाही.
- 200 ओके - विनंती प्राप्त झाली आणि यशस्वीरित्या प्रक्रिया केली गेली.
- 201 तयार केले - विनंती प्राप्त झाली आणि यशस्वीरित्या प्रक्रिया केली गेली, परिणामी नवीन संसाधन किंवा उदाहरण तयार केले गेले.
- 301 कायमचे हलवले - विनंती केलेले संसाधन कायमचे हलवले गेले. त्यानंतरच्या विनंत्या नवीन पत्ता वापरून केल्या पाहिजेत.
- 307 तात्पुरते पुनर्निर्देशन - संसाधन तात्पुरते हलविले गेले आहे. आत्तासाठी, स्वयंचलित फॉरवर्डिंग वापरून त्यात प्रवेश केला जाऊ शकतो.
- 403 निषिद्ध — विनंती समजली होती, परंतु अधिकृतता आवश्यक आहे.
- 404 सापडले नाही — सर्व्हरला या पत्त्यावर संसाधन सापडले नाही.
- 501 अंमलबजावणी नाही — सर्व्हर विनंतीला प्रतिसाद देण्यासाठी आवश्यक कार्यक्षमतेला समर्थन देत नाही.
- 505 HTTP आवृत्ती समर्थित नाही — सर्व्हर HTTP प्रोटोकॉलच्या निर्दिष्ट आवृत्तीस समर्थन देत नाही.
GO TO FULL VERSION