2012-06-16 22 views
12

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

+3

https बस जैसे http राज्यविहीन है। –

+3

आपका क्या मतलब है "यह राज्यपूर्ण बन गया?" आपको यह समझाने की ज़रूरत है कि इसका मतलब क्या है। –

उत्तर

8

एचटीटीपीएस में एस प्रोटोकॉल नहीं, परिवहन से संबंधित है। HTTP प्रोटोकॉल का अर्थशास्त्र HTTPS के लिए समान रहता है। the article about HTTPS on Wikipedia राज्यों,

सच पूछिये तो के रूप में, HTTPS का एक अलग प्रोटोकॉल नहीं है, लेकिन एक एन्क्रिप्टेड SSL/TLS कनेक्शन पर साधारण HTTP का उपयोग करने के लिए संदर्भित करता है।

और नहीं है क्योंकि यह सबसे अधिक बार प्रयोग किया जाता है टीसीपी/आईपी पर (कुछ भी नहीं आप बंद हो जाता है, उदाहरण के लिए HTTP over UDP उपयोग करने के लिए) HTTP प्रोटोकॉल, डिजाइन द्वारा राज्यविहीन है।

-1

मेरा मानना ​​है कि एचटीटीपीएस एक राज्यव्यापी प्रोटोकॉल है क्योंकि इसमें सत्र पहचानकर्ता फ़ील्ड शामिल है। यह शुरुआत में चयनित क्लाइंट के साथ सत्र की पहचान करने के लिए सर्वर द्वारा उत्पन्न होता है।

+0

कृपया अपने उत्तर में लिंक प्रदान करें। राज्यवाद एक अत्यधिक चर्चा विषय है, और लिंक बहुत अधिक हैं। –

+0

सबसे ऊपर जवाब देने के बाद, मैं अभी भी संदेह के साथ रहता हूं। हालांकि मुझे पता है कि मैं गलत हूं, मेरे दिमाग में यह सही समझ में आता है कि एचटीटीपीएस राज्यपूर्ण है, क्योंकि क्लाइंट/सर्वर कनेक्शन स्थापित करता है, चाबियाँ बदलता है और फिर डाटा ट्रांसफर शुरू करता है ... मुझे क्या याद आ रही है? – guilhermecgs

3

एचटीटीपीएस एक सुरक्षित कनेक्शन पर HTTP है।

HTTP एक कनेक्शन से उच्च स्तर है।

किसी वेब सर्वर से कनेक्ट करते समय, आपका कनेक्शन (शायद हमेशा?) प्रकार टीसीपी/आईपी है। इसलिए, यदि आप HTTPS के माध्यम से किसी वेबसाइट पर जा रहे हैं, तो आपका टीसीपी/आईपी कनेक्शन एन्क्रिप्ट किया गया है।

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

यदि डेटा वाहन थे, और राजमार्ग कनेक्शन, तो: - HTTP का उपयोग राजमार्ग पर चलने वाले वाहनों की तरह होगा, और हर कोई उन्हें देख सकता है; - एचटीटीपीएस का उपयोग करना वही होगा, लेकिन वाहन एक सुरंग या किसी भी चीज से गुजरते हैं जो लोगों को राजमार्ग पर नहीं देखता है। आप निर्धारित कर सकते हैं कि वहां कोई निशान है, लेकिन आप सुरंग के दोनों सिरों को छोड़कर वाहनों की पहचान नहीं कर सकते हैं।

मुझे विश्वास है कि यह दृश्य के पीछे क्या होता है इसके करीब एक छवि है। लेकिन मैं कोई विशेषज्ञ नहीं हूँ। मुझे उम्मीद है कि यह मदद करता है।

13

टीएलएस/एसएसएल राज्यपूर्ण है। वेब सर्वर और क्लाइंट (ब्राउज़र) प्रदर्शन को बेहतर बनाने के लिए क्रिप्टोग्राफिक कुंजी सहित सत्र को कैश करता है और प्रत्येक अनुरोध के लिए मुख्य विनिमय नहीं करता है।

HTTP 1 राज्यक्षेत्र नहीं है। HTTP/2 हालांकि कुछ stateful components है, लेकिन "एप्लिकेशन लेयर" अभी भी स्टेटलेस बना हुआ है।

टीएल; डीआर: परिवहन पाइप (टीएलएस) राज्यपूर्ण है, HTTP नहीं है।

अतिरिक्त नोट: कुकीज़ और अन्य राज्यिक तंत्र बाद में अलग आरएफसी में परिभाषित परिवर्धन हैं। वे मूल HTTP/1.0 विनिर्देश का हिस्सा नहीं हैं और HTTP 1.1 RFC में इसका उल्लेख नहीं किया गया है।HTTP 1 को स्टेटलेस कहा जाता है हालांकि अभ्यास में हम मानकीकृत राज्य तंत्र का उपयोग करते हैं। HTTP/2 अपने मानक में राज्य के घटकों को परिभाषित करता है और इसलिए राज्यपूर्ण है। एक विशेष HTTP/2 अनुप्रयोग स्टेटलेसनेस बनाए रखने के लिए HTTP/2 सुविधाओं का सबसेट का उपयोग कर सकता है।

This blog explains more.

+2

यह सबसे अच्छा जवाब आईएमओ है। साफ़ और बिंदु पर :) –

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