अधिक सटीक रूप से, HTTP और HTTPS का उपयोग वर्ल्ड वाइड वेब (www) पर हाइपरटेक्स्ट दस्तावेजों को स्थानांतरित करने के लिए किया जाता है।
ये प्रोटोकॉल काफी आसान हैं, एक क्लाइंट (आमतौर पर एक ब्राउज़र) सर्वर (HTTP या HTTPS) के लिए एक टीसीपी कनेक्शन सेट करता है, एक ASCII स्ट्रिंग के रूप में एक अनुरोध भेजता है और एक उत्तर की अपेक्षा करता है। उत्तर को अक्सर ASCII स्ट्रिंग के रूप में भी स्वरूपित किया जाता है, हालांकि, सर्वर द्वारा कई अन्य डेटा प्रारूप वापस किए जा सकते हैं (उदाहरण के लिए, छवियों को बाइनरी डेटा के रूप में भेजा जाता है)।
यदि हम HTTP प्रोटोकॉल का उपयोग कर रहे हैं, तो सुरक्षा को भंग करना आसान है क्योंकि डेटा और सूचना का हस्तांतरण सादे पाठ में है। लेकिन HTTPS प्रोटोकॉल का उपयोग करते समय, सुरक्षा को भंग करना कठिन है क्योंकि भेजे गए डेटा और जानकारी एन्क्रिप्टेड रूप में है। यदि ग्राहक अपने संवेदनशील और गोपनीय डेटा को स्थानांतरित कर रहा है, तो HTTPS प्रोटोकॉल की अत्यधिक अनुशंसा की जाती है।
तुलना चार्ट
तुलना के लिए आधार | एचटीटीपी | HTTPS |
---|---|---|
उपसर्ग प्रयुक्त | Url की शुरुआत "//" से होती है | Url की शुरुआत "//" से होती है |
सुरक्षा | असुरक्षित। | सुरक्षित। |
इस पर संचालित | अनुप्रयोग परत | ट्रांसपोर्ट परत। |
एन्क्रिप्शन | कोई एन्क्रिप्शन नहीं है | एन्क्रिप्शन का उपयोग किया जाता है। |
प्रमाणपत्र | की जरूरत नहीं है। | ज़रूरी |
पोर्ट का इस्तेमाल किया | पोर्ट नंबर 80 का उपयोग संचार के लिए किया जाता है। | पोर्ट नंबर 443 का उपयोग संचार के लिए किया जाता है। |
लक्षण | यह मानव-में-मध्य और गरुड़ हमलों के अधीन है। | इसे मैन-इन-द-मिड और ईव्सड्रॉपिंग हमलों का विरोध करने के लिए डिज़ाइन किया गया है और इस तरह के हमलों के खिलाफ सुरक्षित माना जाता है। |
उदाहरण | इंटरनेट फ़ोरम, एजुकेशनल साइट्स जैसी वेबसाइट। | बैंकिंग वेबसाइट, पेमेंट गेटवे, शॉपिंग वेबसाइट आदि जैसी वेबसाइट। |
HTTP की परिभाषा
HTTP (हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल) वेब के लिए डेटा संचार का आधार है कि यह वेब पृष्ठों को वितरित करने के लिए इंटरनेट कैसे काम करता है। यह टीसीपी / आईपी आधारित प्रोटोकॉल है और पाठ, ऑडियो, वीडियो, चित्र जैसी चीजें इसके माध्यम से प्रेषित की जा सकती हैं।
HTTP अनुरोध और प्रतिक्रिया चक्र पर काम करता है जहां ग्राहक एक वेब पेज का अनुरोध करता है। मान लीजिए, यदि आप google.com पर ब्राउज़ करते हैं, तो आप सर्वर से एक वेब पेज का अनुरोध कर रहे हैं, और सर्वर आपको प्रतिक्रिया देगा।
HTTP एक स्टेटलेस प्रोटोकॉल है जिसका मतलब है कि HTTP के माध्यम से आपके द्वारा किया गया हर एक लेन-देन प्रकृति में स्वतंत्र है। हालाँकि, इसे HTTP कूकीज़, सर्वर साइड सेशन, वेरिएबल्स, URL रीराइटिंग के माध्यम से दिया जा सकता है।
जब कोई ग्राहक पहली बार किसी वेबसाइट को ब्राउज़ करना चाहता है, तो यह होता है कि अनुरोध को HTTP संदेश के रूप में जाना जाता है । इसके बाद , सर्वर एक प्रतिक्रिया तैयार करेगा और उसे वापस भेजेगा। इसका संदेश प्रतिक्रिया और अनुरोध के आधार पर संदेश अलग होगा।
HTTP संदेश का अनुरोध करें
HTTP संदेश का अनुरोध करें
- स्टार्ट लाइन में विधि, URI और HTTP संस्करण शामिल हैं।
- विधि : यह एक कमांड की तरह है जो सर्वर को दिया जाता है ताकि सर्वर को पता चल सके कि क्या करना है। उदाहरण के लिए, GET, POST, HEAD,
PUT, DELETE, आदि। - URI : यह यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर से फैलता है, पठनीय अक्षरों का एक सेट है और संसाधन का पता लगाने का एक तरीका है।
- HTTP संस्करण : यह निर्दिष्ट करता है कि क्लाइंट जो HTTP का उपयोग कर रहा है वह संस्करण है।
- विधि : यह एक कमांड की तरह है जो सर्वर को दिया जाता है ताकि सर्वर को पता चल सके कि क्या करना है। उदाहरण के लिए, GET, POST, HEAD,
- हेडर में, हमारे पास सूचनात्मक नियम हैं जैसे:
- होस्ट : सर्वर का पता निर्दिष्ट करता है जहां हम अनुरोध भेज रहे हैं।
- स्वीकार करें : वह फ़ाइल प्रकार निर्दिष्ट करता है जिसका हम अनुरोध कर रहे हैं।
- भाषा स्वीकार करें : भाषा को निर्दिष्ट करता है।
- इसमें अनुरोध शामिल नहीं है।
प्रतिक्रिया HTTP संदेश
प्रतिक्रिया HTTP संदेश
- स्टार्ट लाइन : स्टार्ट लाइन में कोई विधि नहीं है क्योंकि यह केवल अनुरोध में उपयोग किया जाता है। प्रतिक्रिया में, हमारे पास HTTP संस्करण और स्थिति कोड है।
- HTTP संस्करण : यह निर्दिष्ट करता है कि क्लाइंट जो HTTP का उपयोग कर रहा है वह संस्करण है।
- स्थिति कोड : यह क्लाइंट को बताता है कि अनुरोध सफल हुआ या असफल। उदाहरण के लिए, 404- पृष्ठ नहीं मिला, 200 - ठीक है, आदि।
- शीर्षलेख में अनुरोध जैसी ही जानकारी होगी।
- होस्ट : सर्वर का पता निर्दिष्ट करता है जहां हम एक अनुरोध भेजते हैं।
- स्वीकार करें : अनुरोधित फ़ाइल प्रकार निर्दिष्ट करता है।
- भाषा स्वीकार करें : भाषा को निर्दिष्ट करता है।
- शरीर हमारे द्वारा मांगी गई फ़ाइल को रखेगा।
HTTP का मुख्य मुद्दा यह है कि यह एन्क्रिप्टेड नहीं है और सादे पाठ का उपयोग किया जाता है, जिसका अर्थ है कि यह कंप्यूटर और सर्वर के बीच डेटा स्थानांतरित करने पर असुरक्षित है। यह बीच-बीच में होने वाले हमलों का फायदा उठाने के लिए लोकप्रिय है, अगर आप HTTP कनेक्शन चलाते हैं तो कोई भी खुद को बीच में रख सकता है और सादे पाठ में नाम, ईमेल, पासवर्ड का उपयोग करना शुरू कर सकता है।
HTTPS की परिभाषा
HTTPS (Hypertext Transfer Protocol Secure) एसएसटी (सिक्योर सॉकेट लेयर) के साथ मिलकर काम करने वाला HTTP और कुछ नहीं है, जो HTTPS में "S" है। एसएसएल यह सुनिश्चित करने का ध्यान रखता है कि डेटा इंटरनेट पर सुरक्षित रूप से चला जाए। HTTPS को दिए गए वैकल्पिक नाम HTTP पर TLS, HTTP पर SSL और HTTP सुरक्षित हैं।
यह प्रोटोकॉल मुख्य रूप से इंटरनेट पर बढ़ाने के लिए डिज़ाइन किया गया था जब वेब साइटों के साथ संचार और संवेदनशील डेटा भेजना था। इसने मानव-में-मध्य हमले को तेजी से कठिन बना दिया क्योंकि डेटा भेजा अब सादे पाठ में नहीं है।
अपनी वेबसाइट को सुरक्षित करने के लिए एसएसएल सर्टिफिकेट नामक कुछ खरीदने की जरूरत है। ये अपेक्षाकृत महंगे हैं और अधिकांश होस्टिंग कंपनियां इन्हें पेश करती हैं। एसएसएल प्रमाणपत्र एक ऑनलाइन पहचान पत्र के अनुरूप है। एसएसएल सर्टिफिकेट भी किसी भी डेटा को एन्क्रिप्ट करता है जो https प्रोटोकॉल से गुजरता है।
अब, एक क्लाइंट उस सर्वर से डेटा का अनुरोध करता है जो एसएसएल प्रमाणपत्र के लिए देखता है जो प्रमाण पत्र के साथ वेबसाइटों की पहचान को सत्यापित करेगा। यदि सब कुछ अच्छा है, तो एक हैंडशेक जगह लेता है जहां एसएसएल के माध्यम से एक एन्क्रिप्शन विधि तय की जाती है।
HTTP और HTTPS के बीच महत्वपूर्ण अंतर
नीचे दिए गए बिंदु HTTP और HTTPS के बीच अंतर को कवर करते हैं:
- अगर हम सुरक्षा के बारे में बात करते हैं तो HTTP में सुरक्षा के मुद्दे हैं जबकि HTTPS सुरक्षित है।
- हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल एप्लिकेशन लेयर पर काम करता है। इसके विपरीत, ट्रांसपोर्ट लेयर पर हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल सिक्योर फंक्शन।
- वेबसाइटों की पहचान को सत्यापित करने के लिए HTTPS को प्रमाणपत्र की आवश्यकता होती है। जैसा कि HTTP में है, प्रमाणपत्रों की कोई आवश्यकता नहीं है।
- HTTP में किसी एन्क्रिप्शन का उपयोग नहीं किया जाता है। दूसरी ओर HTTPS में एन्क्रिप्शन और डिक्रिप्शन दोनों का उपयोग किया जाता है।
- संचार उद्देश्यों के लिए, HTTP में पोर्ट नंबर 80 का उपयोग किया जाता है, जबकि HTTPS पोर्ट नंबर 443 का उपयोग करता है।
- HTTP मानव-में-मध्य और ईवीएसड्रॉपिंग हमलों के लिए प्रवण है, लेकिन HTTPS ऐसे हमलों का विरोध करने के लिए डिज़ाइन किया गया है।
उदाहरण:
HTTP का उपयोग अधिकांश वेबसाइटों जैसे इंटरनेट फ़ोरम, शैक्षिक साइटों में किया जा सकता है। क्योंकि ये खुले चर्चा फ़ोरम हैं, सुरक्षित पहुंच की आवश्यकता नहीं है। उदाहरण के लिए //www.ndtv.com
HTTPS का उपयोग बैंकिंग वेबसाइट, पेमेंट गेटवे, शॉपिंग वेबसाइट, लॉगिन पेज, ईमेल और कॉर्पोरेट सेक्टर वेबसाइट में किया जाना चाहिए। उदाहरण के लिए //paytm.com/
निष्कर्ष:
HTTP और HTTPS दोनों ही प्रोटोकॉल को ट्रांसफर करने वाला हाइपरटेक्स्ट डॉक्यूमेंट है, लेकिन HTTPS संवेदनशील डेटा, सूचना और फाइल को क्लाइंट से सर्वर और इंटरनेट पर इसके विपरीत ट्रांसफर करने का एक सुरक्षित तरीका प्रदान करता है।