इस लेख में, मैं आपको बताऊंगा कि वर्ल्ड वाइड वेब मौलिक स्तर पर कैसे काम करता है।
मुख्य तकनीक HTTP - हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल है। यह वह संचार प्रोटोकॉल है जिसका उपयोग आप वेब ब्राउज़ करते समय करते हैं।
मौलिक स्तर पर, जब आप किसी वेबसाइट पर जाते हैं, तो आपका ब्राउज़र सर्वर से एक HTTP अनुरोध करता है। फिर वह सर्वर एक संसाधन (एक छवि, वीडियो, या एक वेब पेज का HTML) के साथ प्रतिक्रिया करता है - जिसे आपका ब्राउज़र तब आपके लिए प्रदर्शित करता है।
यह HTTP का संदेश-आधारित मॉडल है। प्रत्येक HTTP इंटरैक्शन में एक अनुरोध और एक प्रतिक्रिया शामिल होती है।
अपने स्वभाव से, HTTP स्टेटलेस है।
स्टेटलेस इसका मतलब है कि सभी अनुरोध एक दूसरे से अलग हैं। इसलिए आपके ब्राउज़र के प्रत्येक अनुरोध में सर्वर द्वारा अनुरोध को पूरा करने के लिए पर्याप्त जानकारी होनी चाहिए। इसका मतलब यह भी है कि HTTP के संदेश आधारित मॉडल के प्रत्येक लेनदेन को दूसरों से अलग संसाधित किया जाता है।
URL
URL (यूनिफ़ॉर्म रिसोर्स लोकेटर) संभवतः वेब की सबसे ज्ञात अवधारणा है। यह भी सबसे महत्वपूर्ण और उपयोगी अवधारणाओं में से एक है। URL एक वेब पता है जिसका उपयोग वेब पर संसाधनों की पहचान करने के लिए किया जाता है।
वेब का विचार संसाधनों के इर्द-गिर्द संरचित है। शुरुआत से ही वेब टेक्स्ट/एचटीएमएल फाइलों, दस्तावेजों, छवियों आदि को साझा करने का मंच था और इस तरह इसे संसाधनों का एक संग्रह माना जा सकता है।
प्रोटोकॉल — अक्सर वे HTTP (या HTTP के सुरक्षित संस्करण के लिए HTTPS) होते हैं।
अन्य उल्लेखनीय प्रोटोकॉल हैं:
- फ़ाइल स्थानांतरण प्रोटोकॉल (एफ़टीपी) — एक मानक प्रोटोकॉल है जिसका उपयोग क्लाइंट और सर्वर के बीच नेटवर्क पर फ़ाइलों को स्थानांतरित करने के लिए किया जाता है।
- सरल मेल ट्रांसफर प्रोटोकॉल (एसएमटीपी) ईमेल ट्रांसमिशन के लिए एक मानक है।
डोमेन — नाम जिसका उपयोग एक या अधिक IP पतों की पहचान करने के लिए किया जाता है जहां संसाधन स्थित है।
पथ - सर्वर पर संसाधन स्थान निर्दिष्ट करता है। यह उसी तर्क का उपयोग करता है जिस डिवाइस पर आप इस लेख को पढ़ रहे हैं (यानी /search/cars/VWBeetle.pdf या C:/my Cars/VWBeetle.pdf) उस डिवाइस पर उपयोग किए गए संसाधन स्थान के रूप में।
पैरामीटर — सर्वर पर संसाधन को पहचानने या फ़िल्टर करने के लिए उपयोग किया जाने वाला अतिरिक्त डेटा।
नोट :HTTP के बारे में लेखों और अधिक जानकारी की खोज करते समय, आपको URI (या यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर) शब्द का सामना करना पड़ सकता है। कभी-कभी यूआरएल के बजाय यूआरआई का इस्तेमाल किया जाता है, लेकिन ज्यादातर औपचारिक विनिर्देशों में और उन लोगों द्वारा जो दिखावा करना चाहते हैं। :)पी>
HTTP अनुरोध
HTTP में, प्रत्येक अनुरोध में एक URL पता होना चाहिए। इसके अतिरिक्त, अनुरोध को एक विधि की आवश्यकता है। चार मुख्य HTTP तरीके हैं:
- प्राप्त करें
- पुट
- पोस्ट
- हटाएं
मैं इस लेख के HTTP मेथड्स सेक्शन में इन विधियों और अन्य के बारे में बताऊंगा।
और ये विधियां सीधे क्रियाओं से मेल खाती हैं:
- पढ़ें
- अपडेट करें
- बनाएं
- हटाएं
सभी HTTP संदेशों में एक या अधिक शीर्षलेख होते हैं, उसके बाद एक वैकल्पिक संदेश निकाय होता है। मुख्य भाग में वह डेटा होता है जो अनुरोध के साथ भेजा जाएगा या प्रतिक्रिया के साथ प्राप्त डेटा।
प्रत्येक HTTP अनुरोध के पहले भाग में तीन आइटम होते हैं:
उदाहरण:
- GET /add/search-result?item=vw+बीटल HTTP/1.1
जब किसी URL में "?" साइन इन करें, इसका मतलब है कि इसमें एक क्वेरी है। इसका मतलब है कि यह अनुरोधित संसाधन के पैरामीटर भेजता है।
- पहला भाग एक मेथड है जो बताता है कि किस HTTP मेथड का उपयोग किया जाता है। सबसे अधिक इस्तेमाल किया जाने वाला GET तरीका है। GET विधि वेब सर्वर से एक संसाधन को पुनः प्राप्त करती है और चूंकि GET के पास कोई संदेश निकाय नहीं है, हेडर की आवश्यकता के बाद कुछ भी नहीं है।
- दूसरा भाग अनुरोधित URL है।
- तीसरा भाग एक HTTP संस्करण है जिसका उपयोग किया जा रहा है। संस्करण 1.1. अधिकांश ब्राउज़रों के लिए सबसे सामान्य संस्करण है, हालांकि, संस्करण 2.0 ले रहा है।
HTTP अनुरोध में कुछ अन्य दिलचस्प बातें भी हैं:
संदर्भ शीर्षलेख — URL को बताता है कि अनुरोध कहां से आया है।
उपयोगकर्ता-एजेंट शीर्षलेख — अनुरोध उत्पन्न करने के लिए उपयोग किए जा रहे ब्राउज़र के बारे में अतिरिक्त जानकारी।
होस्ट हेडर — विशिष्ट रूप से एक होस्ट नाम की पहचान करता है; यह तब आवश्यक होता है जब एक ही सर्वर पर कई वेब पेज होस्ट किए जाते हैं।
कुकी हेडर — ग्राहक को अतिरिक्त पैरामीटर सबमिट करता है।
HTTP प्रतिसाद
HTTP अनुरोधों की तरह ही, HTTP प्रतिक्रियाओं में भी तीन आइटम होते हैं:
उदाहरण:
HTTP/1.1 200 ठीक है
- पहला भाग HTTP संस्करण का उपयोग किया जा रहा है।
- दूसरा भाग अनुरोध के परिणाम का अंकीय कोड है।
- तीसरा भाग दूसरे भाग का पाठ्य विवरण है।
HTTP प्रतिक्रिया में कुछ और दिलचस्प बातें हैं:
सर्वर हेडर — इस बारे में जानकारी कि किस वेब सर्वर सॉफ़्टवेयर का उपयोग किया जा रहा है।
कुकी हेडर सेट करें — ब्राउज़र को कुकी जारी करता है।
संदेश का मुख्य भाग —एक HTTP प्रतिक्रिया के लिए संदेश का मुख्य भाग रखना आम बात है।
सामग्री-लंबाई शीर्षलेख — बाइट्स में संदेश के मुख्य भाग का आकार बताता है।
HTTP तरीके
सबसे आम तरीके GET और POST हैं। लेकिन कुछ अन्य भी हैं।
GET — आप इस पद्धति का उपयोग किसी निर्दिष्ट संसाधन से डेटा का अनुरोध करने के लिए करते हैं जहां डेटा को किसी भी तरह से संशोधित नहीं किया जाता है। GET अनुरोध संसाधन की स्थिति को नहीं बदलते हैं।
पोस्ट — आप संसाधन बनाने के लिए सर्वर को डेटा भेजने के लिए इस पद्धति का उपयोग करते हैं।
PUT — आप अनुरोध के मुख्य भाग में सामग्री का उपयोग करके सर्वर पर मौजूदा संसाधन को अद्यतन करने के लिए इस पद्धति का उपयोग करते हैं। इसे कुछ "संपादित" करने के तरीके के रूप में सोचें।
सिर — आप इस पद्धति का उपयोग उसी तरह करते हैं जैसे आप GET का उपयोग करते हैं, लेकिन इस अंतर के साथ कि HEAD विधि की वापसी में प्रतिक्रिया में शरीर नहीं होना चाहिए। लेकिन रिटर्न में वही हेडर होंगे जैसे कि जीईटी का इस्तेमाल किया गया था। GET अनुरोध करने से पहले संसाधन मौजूद है या नहीं यह जांचने के लिए आप HEAD पद्धति का उपयोग करते हैं।
ट्रेस — आप इस पद्धति का उपयोग नैदानिक उद्देश्यों के लिए करते हैं। प्रतिक्रिया में उसके शरीर में अनुरोध संदेश की सटीक सामग्री होगी।
विकल्प — आप इस पद्धति का उपयोग संचार विकल्पों (HTTP विधियों) का वर्णन करने के लिए करते हैं जो लक्ष्य संसाधन के लिए उपलब्ध हैं।
पैच — आप इस पद्धति का उपयोग किसी संसाधन में आंशिक संशोधन लागू करने के लिए करते हैं।
हटाएं — आप निर्दिष्ट संसाधन को हटाने के लिए इस पद्धति का उपयोग करते हैं।
REST
रिप्रेजेंटेटिव स्टेट ट्रांसफर (आरईएसटी) एक आर्किटेक्चर शैली है जहां अनुरोधों और प्रतिक्रियाओं में सिस्टम संसाधन की वर्तमान स्थिति का प्रतिनिधित्व होता है।
"नियमित" तरीका:
- https://carapp.com/search?make=wv&model=beetle
बाकी-शैली:
- https://carapp.com/search/vw/beetle
यदि आप उत्सुक हैं तो आप यहाँ REST के बारे में अधिक जान सकते हैं।
HTTP शीर्षलेख
अनुरोध/प्रतिक्रिया संरचना बनाने वाले तीन मुख्य घटक हैं। इनमें शामिल हैं:
- पहली पंक्ति
- शीर्षक
- शरीर/सामग्री
हमने पहले ही HTTP अनुरोधों और प्रतिक्रियाओं में पहली पंक्ति के बारे में बात की थी, और शरीर के कार्य का भी उल्लेख किया गया था। अब हम HTTP हेडर के बारे में बात करेंगे।
HTTP शीर्षलेख पहली पंक्ति के बाद जोड़े जाते हैं और उन्हें नाम के रूप में परिभाषित किया जाता है:एक कोलन द्वारा अलग किए गए मान जोड़े। HTTP हेडर का उपयोग अनुरोध या प्रतिक्रिया के साथ अतिरिक्त पैरामीटर भेजने के लिए किया जाता है।
जैसा कि मैंने पहले ही कहा, संदेश के मुख्य भाग में अनुरोध के साथ भेजा जाने वाला डेटा या प्रतिक्रिया के साथ प्राप्त डेटा शामिल होता है।
विभिन्न प्रकार के हेडर हैं जिन्हें उनके उपयोग के आधार पर 4 व्यापक श्रेणियों में बांटा गया है:
- सामान्य शीर्षलेख — हेडर जिनका उपयोग अनुरोध और प्रतिक्रिया संदेशों दोनों में किया जा सकता है और जो डेटा के आदान-प्रदान से स्वतंत्र हैं।
- अनुरोध हेडर — ये हेडर अनुरोधित डेटा या पैरामीटर के लिए पैरामीटर परिभाषित करते हैं जो अनुरोध करने वाले क्लाइंट के बारे में महत्वपूर्ण जानकारी देते हैं।
- प्रतिक्रिया शीर्षलेख — इन हेडर में आने वाली प्रतिक्रिया के बारे में जानकारी होती है।
- इकाई शीर्षलेख — इकाई शीर्षलेख उस सामग्री का वर्णन करते हैं जो संदेश का मुख्य भाग बनाती है।
HTTP स्थिति कोड
वेब ब्राउज़ करते हुए, आपको "404 त्रुटि:नहीं मिला" पृष्ठ या "500 त्रुटियां:सर्वर प्रतिसाद नहीं दे रहा है" पृष्ठों का सामना करना पड़ सकता है।
ये HTTP स्थिति कोड हैं।
प्रत्येक HTTP प्रतिक्रिया संदेश में एक HTTP स्थिति कोड होना चाहिए, जो हमें अनुरोध का परिणाम बताता है।
स्थिति कोड के पांच समूह होते हैं जिन्हें पहले अंक द्वारा समूहीकृत किया जाता है:
- 1xx — सूचनात्मक।
- 2xx — अनुरोध सफल रहा।
- 3xx — क्लाइंट को किसी दूसरे संसाधन पर रीडायरेक्ट किया जाता है।
- 4xx — अनुरोध में किसी प्रकार की त्रुटि है।
- 5xx — सर्वर को अनुरोध पूरा करने में त्रुटि का सामना करना पड़ा।
यहां HTTP स्थिति प्रतिक्रिया कोड और उनके स्पष्टीकरण की पूरी सूची है।
HTTPS (हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल सिक्योर)
HTTP प्रोटोकॉल का सुरक्षित संस्करण हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल सिक्योर (HTTPS) है। HTTPS एक ब्राउज़र (क्लाइंट) और वेबसाइट (सर्वर) के बीच एन्क्रिप्टेड संचार प्रदान करता है।
HTTPS में, संचार प्रोटोकॉल को ट्रांसपोर्ट लेयर सिक्योरिटी (TLS) या सिक्योर सॉकेट लेयर (SSL) का उपयोग करके एन्क्रिप्ट किया जाता है।
इसलिए प्रोटोकॉल को अक्सर टीएलएस पर एचटीटीपी या एसएसएल पर एचटीटीपी भी कहा जाता है।
टीएलएस और एसएसएल दोनों प्रोटोकॉल एक असममित एन्क्रिप्शन सिस्टम का उपयोग करते हैं। असममित एन्क्रिप्शन सिस्टम एक संदेश को एन्क्रिप्ट करने के लिए एक सार्वजनिक कुंजी (एन्क्रिप्शन कुंजी) और एक निजी कुंजी (डिक्रिप्शन कुंजी) का उपयोग करते हैं।
संदेश को एन्क्रिप्ट करने के लिए कोई भी सार्वजनिक कुंजी का उपयोग कर सकता है। हालाँकि, निजी कुंजियाँ गुप्त होती हैं, और इसका अर्थ है कि केवल इच्छित प्राप्तकर्ता ही संदेश को डिक्रिप्ट कर सकता है।
SSL/TLS हैंडशेक
जब आप किसी वेबसाइट से HTTPS कनेक्शन का अनुरोध करते हैं, तो वेबसाइट अपना SSL प्रमाणपत्र आपके ब्राउज़र को भेजती है। वह प्रक्रिया जिसमें आपका ब्राउज़र और वेबसाइट संचार शुरू करते हैं, "एसएसएल/टीएलएस हैंडशेक" कहलाती है।
एसएसएल/टीएलएस हैंडशेक में चरणों की एक श्रृंखला शामिल होती है जहां ब्राउज़र और वेबसाइट एक दूसरे को मान्य करते हैं और एसएसएल/टीएलएस सुरंग के माध्यम से संचार शुरू करते हैं।
जैसा कि आपने शायद देखा है, जब एक HTTPS कनेक्शन के दौरान एक विश्वसनीय सुरक्षित सुरंग का उपयोग किया जाता है, तो हरे रंग का पैडलॉक आइकन ब्राउज़र के एड्रेस बार में प्रदर्शित होता है।
HTTPS के लाभ
HTTPS के प्रमुख लाभ हैं:
- क्रेडिट कार्ड नंबर और अन्य संवेदनशील जानकारी जैसी ग्राहक जानकारी एन्क्रिप्ट की जाती है और इसे इंटरसेप्ट नहीं किया जा सकता है।
- आगंतुक सत्यापित कर सकते हैं कि आप एक पंजीकृत व्यवसाय हैं और आप डोमेन के स्वामी हैं।
- ग्राहक जानते हैं कि उन्हें HTTPS के बिना साइटों पर जाने की संभावना नहीं है, और इसलिए, उनके HTTPS का उपयोग करने वाली साइटों पर भरोसा करने और खरीदारी पूरी करने की अधिक संभावना है।
पढ़ने के लिए धन्यवाद! मेरे फ्रीकोडकैंप प्रोफाइल पर इस तरह के और लेख देखें। और मेरे द्वारा अपने GitHub पेज पर बनाई गई अन्य मज़ेदार सामग्री देखें।