HTTP - अवलोकन
हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल (HTTP) वितरित, सहयोगी, हाइपरमीडिया सूचना प्रणाली के लिए एक अनुप्रयोग-स्तरीय प्रोटोकॉल है। यह 1990 के बाद से वर्ल्ड वाइड वेब (यानी इंटरनेट) के लिए डेटा संचार की नींव है। HTTP एक सामान्य और स्टेटलेस प्रोटोकॉल है, जिसका उपयोग अन्य उद्देश्यों के साथ-साथ अपने अनुरोध विधियों, त्रुटि कोड और हेडर के एक्सटेंशन का उपयोग करने के लिए किया जा सकता है।
मूल रूप से, HTTP एक टीसीपी / आईपी आधारित संचार प्रोटोकॉल है, जिसका उपयोग वर्ल्ड वाइड वेब पर डेटा (HTML फ़ाइलें, छवि फ़ाइलें, क्वेरी परिणाम आदि) देने के लिए किया जाता है। डिफ़ॉल्ट पोर्ट TCP 80 है, लेकिन अन्य पोर्ट का भी उपयोग किया जा सकता है। यह कंप्यूटरों को एक दूसरे के साथ संवाद करने के लिए एक मानकीकृत तरीका प्रदान करता है। HTTP विनिर्देश निर्दिष्ट करता है कि ग्राहकों के अनुरोध डेटा का निर्माण और सर्वर को कैसे भेजा जाएगा, और सर्वर इन अनुरोधों का जवाब कैसे देते हैं।
बुनियादी सुविधाओं
तीन बुनियादी विशेषताएं हैं जो HTTP को एक सरल लेकिन शक्तिशाली प्रोटोकॉल बनाती हैं:
HTTP is connectionless:HTTP क्लाइंट, यानी, एक ब्राउज़र एक HTTP अनुरोध शुरू करता है और एक अनुरोध किए जाने के बाद, क्लाइंट प्रतिक्रिया का इंतजार करता है। सर्वर अनुरोध को संसाधित करता है और एक प्रतिक्रिया भेजता है जिसके बाद क्लाइंट कनेक्शन को डिस्कनेक्ट करता है। इसलिए क्लाइंट और सर्वर वर्तमान अनुरोध और प्रतिक्रिया के दौरान एक दूसरे के बारे में जानते हैं। नए कनेक्शन पर आगे अनुरोध किए जाते हैं जैसे क्लाइंट और सर्वर एक दूसरे के लिए नए हैं।
HTTP is media independent:इसका मतलब है, किसी भी प्रकार का डेटा HTTP द्वारा भेजा जा सकता है जब तक कि क्लाइंट और सर्वर दोनों को पता है कि डेटा सामग्री को कैसे संभालना है। यह क्लाइंट के साथ-साथ उपयुक्त MIME- प्रकार का उपयोग करके सामग्री प्रकार निर्दिष्ट करने के लिए सर्वर के लिए आवश्यक है।
HTTP is stateless:जैसा कि ऊपर बताया गया है, HTTP कनेक्शन रहित है और यह HTTP का एक सांविधिक प्रोटोकॉल होने का प्रत्यक्ष परिणाम है। सर्वर और क्लाइंट एक वर्तमान अनुरोध के दौरान ही एक दूसरे के बारे में जानते हैं। बाद में, दोनों एक-दूसरे के बारे में भूल जाते हैं। प्रोटोकॉल की इस प्रकृति के कारण, न तो क्लाइंट और न ही ब्राउज़र वेब पृष्ठों पर विभिन्न अनुरोधों के बीच जानकारी को बनाए रख सकते हैं।
HTTP / 1.0 प्रत्येक अनुरोध / प्रतिक्रिया विनिमय के लिए एक नए कनेक्शन का उपयोग करता है, जहां HTTP / 1.1 कनेक्शन का उपयोग एक या अधिक अनुरोध / प्रतिक्रिया एक्सचेंजों के लिए किया जा सकता है।
बुनियादी वास्तुकला
निम्नलिखित आरेख एक वेब अनुप्रयोग की बहुत बुनियादी वास्तुकला को दर्शाता है और जहां HTTP बैठता है:
HTTP प्रोटोकॉल क्लाइंट / सर्वर आधारित आर्किटेक्चर पर आधारित एक रिक्वेस्ट / रिस्पॉन्स प्रोटोकॉल है जहां वेब ब्राउजर, रोबोट और सर्च इंजन आदि HTTP क्लाइंट की तरह काम करते हैं और वेब सर्वर एक सर्वर के रूप में कार्य करता है।
ग्राहक
HTTP क्लाइंट एक अनुरोध विधि, URI और प्रोटोकॉल संस्करण के रूप में सर्वर को एक अनुरोध भेजता है, इसके बाद एक MIME- जैसे संदेश होता है जिसमें अनुरोध संशोधक, क्लाइंट जानकारी और एक टीसीपी / आईपी कनेक्शन पर संभावित शरीर सामग्री होती है।
सर्वर
HTTP सर्वर एक स्थिति लाइन के साथ प्रतिक्रिया करता है, जिसमें संदेश का प्रोटोकॉल संस्करण और एक सफलता या त्रुटि कोड शामिल होता है, इसके बाद MIME जैसा संदेश होता है जिसमें सर्वर जानकारी, इकाई मेटा जानकारी और संभावित निकाय सामग्री शामिल होती है।