2013-02-16 16 views
5

में http और https के बीच क्या अंतर है, मुझे पता था कि "एस" "सुरक्षित" है, और उपयोगकर्ता को केवल उस वेबसाइट पर महत्वपूर्ण जानकारी दर्ज नहीं करनी चाहिए जो केवल http का उपयोग करे। लेकिन मैं वास्तव में पता है कि इन दो प्रोटोकॉल मेरी प्रोग्रामिंग, जैसे को प्रभावित करना चाहते हैं:प्रोग्रामिंग

  • कैसे कुछ वेबसाइट मिल गया 'https' और कुछ कैसे वे पर और इस सुविधा को बंद नहीं (या शायद बारी है, ऐसा मुझे नहीं पता)। क्या इसका मतलब है कि मुझे इसे कहीं पंजीकृत करना होगा?

  • मैंने खुद को सोचा कि http में संचार एन्क्रिप्ट नहीं किया गया है, जबकि कुछ एन्क्रिप्शन https में हो सकता है, क्या यह सही है?

  • और क्योंकि ब्राउज़र द्वारा एन्क्रिप्शन (यदि कोई है) प्रक्रिया की जाती है, नतीजतन, मेरे सर्वर-साइड कोड के पास "http" या "https" से कोई लेना देना नहीं है, क्या यह सही है?

  • क्या उपयोगकर्ता को केवल https का उपयोग करने के लिए मजबूर करने का कोई तरीका है?

+1

लुकअप एसएसएल/टीएलएस। –

+1

इसे प्रोग्रामिंग के साथ नहीं करना है। यह एक स्थानांतरण प्रोटोकॉल है। – Kermit

उत्तर

4

HTTPS को सक्षम करने के लिए आपको वेबसर्वर पर एक SSL प्रमाणपत्र स्थापित करने की आवश्यकता है। यह क्लाइंट ब्राउज़र और सर्वर के बीच एक एन्क्रिप्टेड कनेक्शन स्थापित करने की अनुमति देगा और सभी HTTP ट्रैफिक एन्क्रिप्ट किया जाएगा। यह प्रमाणपत्र एक विश्वसनीय प्राधिकारी द्वारा जारी किया जाता है। आप परीक्षण प्रयोजनों के लिए प्रमाण पत्र भी उत्पन्न कर सकते हैं, लेकिन जब कोई ग्राहक ब्राउज़र वेबसाइट पर नेविगेट करता है तो यह एक चेतावनी उत्सर्जित करेगा कि यह प्रमाण पत्र किसी विश्वसनीय प्राधिकारी द्वारा जारी नहीं किया गया था।

आप अपने HTTP सर्वर को स्वचालित रूप से सभी HTTP अनुरोधों को संबंधित HTTPS एंडपॉइंट पर रीडायरेक्ट करने के लिए कॉन्फ़िगर करके HTTPS का उपयोग करने के लिए मजबूर कर सकते हैं।

आप SSL/TLS देख सकते हैं।

+0

* यह प्रमाण पत्र किसी विश्वसनीय प्राधिकारी द्वारा जारी किया जाता है। * ट्रस्ट रिश्तेदारों द्वारा आवश्यक रूप से स्थापित नहीं होते हैं, उदाहरण के लिए, * एक प्रमाणपत्र * खरीदना। यह व्यापक www में आसान है। भावना जहां रूट सीए कर्ट आमतौर पर उपयोगकर्ताओं के विस्तृत आधार के बीच वितरित किए जाते हैं, लेकिन ऐसे मामले हैं (जैसे कि कुछ साल पहले इनकॉमन के साथ) जहां ब्राउज़र में उचित रूट प्रमाणपत्र के बिना भी पुराने अधिकारी पुराने ब्राउज़र में मौजूद नहीं हो सकते हैं। इंट्रानेट से संबंधित कर्ट एक और "विश्वसनीय प्राधिकारी" स्थिति हैं। बस परिप्रेक्ष्य के विवादास्पद बिट को "स्पष्टीकरण" देना चाहता था। –

+0

हां, यह सच है। आप स्वयं एक एसएसएल प्रमाण पत्र भी उत्पन्न कर सकते हैं और यदि आप अपने क्लाइंट ब्राउज़र पर विश्वसनीय प्रमाणपत्र स्टोर में इस प्रमाणपत्र को स्थापित करते हैं, तो चेतावनी भी नहीं होगी। यह सिर्फ इतना है कि इंटरनेट पर ऐसी वेबसाइट तैयार करते समय जहां आपके क्लाइंट ब्राउज़र पर नियंत्रण नहीं होता है, यदि आप किसी विश्वसनीय प्राधिकारी क्लाइंट ब्राउज़र से कोई SSL प्रमाणपत्र नहीं खरीदते हैं तो हमेशा एक चेतावनी मिलेगी कि प्रमाणपत्र विश्वसनीय नहीं है। –

+0

मैं समझता हूं। ':) 'मैं सिर्फ यह समझने के लिए लोगों को यह जवाब पढ़ना चाहता था कि * विश्वसनीय * और * प्रमाणपत्र * प्राधिकरण एक और समान नहीं हैं। यह एक आसान गलतफहमी है, इसलिए इस उत्तर को पढ़ने वाले लोगों के लिए मेरी टिप्पणी। –

7
  • HTTPS प्रोटोकॉल का उपयोग कर वेबसाइटें एक प्रमाण पत्र, एक विश्वसनीय तृतीय पक्ष (या एक "प्रमाणपत्र प्राधिकारी"), जो एक सार्वजनिक कुंजी है के द्वारा दिए गए (देखें: Public Key Infrastructure)। सार्वजनिक कुंजी को एक निजी कुंजी के साथ जोड़ा जाता है, और निजी कुंजी से एन्क्रिप्ट की गई जानकारी केवल सार्वजनिक कुंजी के साथ डिक्रिप्ट की जा सकती है। इसका उपयोग यह पुष्टि करने के लिए किया जाता है कि सर्वर निजी कुंजी धारक है (और इसलिए प्रमाण पत्र प्राधिकरण द्वारा प्रमाणित इकाई है)। HTTPS प्रोटोकॉल का उपयोग करने के लिए, आपको या तो प्रमाणपत्र उत्पन्न या खरीदना होगा। विभिन्न कारणों से, उन्हें उत्पन्न करने के बजाय प्रमाणपत्र खरीदने के लिए यह अधिक आम है।

  • HTTPS संचार एन्क्रिप्ट किया गया है। सर्टिफिकेट से जुड़े कुंजी एन्क्रिप्टिंग नहीं करते हैं, इसके बजाय ब्राउज़र और सर्वर एक एन्क्रिप्टिंग संचार में उपयोग की जाने वाली कुंजी बनाने के लिए डिफी-हेलमैन एक्सचेंज जैसी योजना का उपयोग करते हैं। यह महत्वपूर्ण है, क्योंकि सार्वजनिक कुंजी वाला कोई भी व्यक्ति निजी कुंजी से एन्क्रिप्टेड चीजों को डिक्रिप्ट कर सकता है।

  • ब्राउज़र से भेजी गई जानकारी ब्राउज़र द्वारा एन्क्रिप्ट की गई है और सर्वर द्वारा डिक्रिप्ट की गई है। आपका वेब सर्वर सॉफ़्टवेयर जानकारी को डिक्रिप्ट करेगा; प्राप्त जानकारी मानक HTTP यातायात से अलग नहीं दिखाई देगी।

  • हां, आप HTTPS को मजबूर कर सकते हैं। आप या तो अपने सर्वर सॉफ़्टवेयर (उदाहरण के लिए RewriteRule अपाचे में RewriteCond HTTPS की जांच के साथ), या एचएसटीएस के माध्यम से ऐसा कर सकते हैं, जिसमें एक विशिष्ट शीर्षलेख भेजना शामिल है। यदि आप एचएसटीएस का समर्थन करने वाले ब्राउज़र में एचएसटीएस हेडर भेजते हैं, तो ब्राउज़र स्वचालित रूप से HTTP से HTTPS पर रीडायरेक्ट हो जाएगा (देखें: HTTP Strict Transport Security)।

संबंधित मुद्दे