सुरक्षा परीक्षण - एचटीटीपी प्रोटोकॉल बेसिक्स
सुरक्षा परीक्षण पर एक अच्छी समझ पाने के लिए प्रोटोकॉल को समझना बहुत महत्वपूर्ण है। जब हम वेबसर्वर और क्लाइंट के बीच पैकेट डेटा को इंटरसेप्ट करते हैं, तो आप प्रोटोकॉल के महत्व की सराहना कर सकेंगे।
HTTP प्रोटोकॉल
हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल (HTTP) वितरित, सहयोगी, हाइपरमीडिया सूचना प्रणाली के लिए एक अनुप्रयोग-स्तरीय प्रोटोकॉल है। यह 1990 के बाद से वर्ल्ड वाइड वेब के लिए डेटा संचार की नींव है। HTTP एक सामान्य और स्टेटलेस प्रोटोकॉल है, जिसका उपयोग अन्य उद्देश्यों के साथ-साथ अपने अनुरोध के तरीकों, त्रुटि कोड और हेडर के विस्तार के लिए भी किया जा सकता है।
मूल रूप से, HTTP एक टीसीपी / आईपी आधारित संचार प्रोटोकॉल है, जिसका उपयोग वेब पर HTML फ़ाइलों, छवि फ़ाइलों, क्वेरी परिणामों आदि जैसे डेटा को वितरित करने के लिए किया जाता है। यह कंप्यूटरों को एक दूसरे के साथ संवाद करने के लिए एक मानकीकृत तरीका प्रदान करता है। 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 क्लाइंट के रूप में कार्य करते हैं और वेब सर्वर सर्वर के रूप में कार्य करता है।
Client - HTTP क्लाइंट एक अनुरोध विधि, URI, और प्रोटोकॉल संस्करण के रूप में सर्वर को एक अनुरोध भेजता है, इसके बाद एक MIME- जैसे संदेश होता है जिसमें अनुरोध संशोधक, क्लाइंट जानकारी और एक टीसीपी / आईपी कनेक्शन पर शरीर की संभावित सामग्री होती है।
Server - HTTP सर्वर एक स्थिति रेखा के साथ प्रतिक्रिया करता है, जिसमें संदेश का प्रोटोकॉल संस्करण और एक सफलता या त्रुटि कोड शामिल होता है, इसके बाद MIME जैसा संदेश होता है जिसमें सर्वर जानकारी, इकाई मेटा जानकारी और संभावित निकाय सामग्री शामिल होती है।
HTTP - नुकसान
HTTP पूरी तरह से सुरक्षित प्रोटोकॉल नहीं है।
HTTP संचार के लिए डिफ़ॉल्ट पोर्ट के रूप में पोर्ट 80 का उपयोग करता है।
HTTP आवेदन लेयर पर संचालित होता है। इसे डेटा ट्रांसफर के लिए कई कनेक्शन बनाने की आवश्यकता है, जो प्रशासन के ओवरहेड्स को बढ़ाता है।
HTTP का उपयोग करने के लिए किसी एन्क्रिप्शन / डिजिटल प्रमाणपत्र की आवश्यकता नहीं है।
Http प्रोटोकॉल विवरण
HTTP प्रोटोकॉल indepth को समझने के लिए, नीचे दिए गए लिंक में से प्रत्येक पर क्लिक करें।
HTTP Parameters
HTTP Messages
HTTP Requests
HTTP Responses
HTTP Methods
HTTP Status Codes
HTTP Header Fields
HTTP Security