2012-08-19 6 views
32

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

+4

मैंने जवाब पढ़े लेकिन अभी भी स्पष्ट नहीं है .. क्या कोई इसे थोड़ा और समझ सकता है .. धन्यवाद! – eRaisedToX

+0

मूल रूप से http प्रॉक्सी क्लाइंट पक्ष के लिए एक HTTP विधि भेजने के लिए प्रतीक्षा करें, http प्रॉक्सी लॉगिन पासवर्ड स्वीकार करने की अनुमति देने के लिए, http प्रॉक्सी सिर्फ 200 प्रतिक्रिया दे सकता है या अन्य चीजों का जवाब दे सकता है। तो ग्राहक प्रॉक्सी क्लाइंट को सूचित करने के लिए ठीक से प्रतिक्रिया दे सकता है यह एक और प्रकार का प्रॉक्सी बन सकता है। – for1096

उत्तर

15

HTTP प्रॉक्सी, HTTP के अलावा अन्य उच्च स्तरीय प्रोटोकॉल का समर्थन करने के लिए अगर यह कनेक्ट विधि है, जो मुख्य रूप से HTTPS कनेक्शन के लिए प्रयोग किया जाता है का समर्थन करता है में सक्षम है यहाँ विद्रूप विकी है वर्णन है:

कनेक्ट विधि के लिए एक रास्ता है एक HTTP प्रॉक्सी के माध्यम से किसी भी तरह का कनेक्शन सुरंग। डिफ़ॉल्ट रूप से, प्रॉक्सी निर्दिष्ट सर्वर से एक टीसीपी कनेक्शन स्थापित करता है, एक HTTP 200 (कनेक्शन स्थापित) प्रतिक्रिया के साथ प्रतिक्रिया करता है, और उसके बाद सुरंग ट्रैफिक को समझने या व्याख्या किए बिना क्लाइंट और सर्वर के बीच पैकेट को आगे और आगे चलाता है

क्लाइंट सॉफ्टवेयर यह किसी भी उच्च स्तर प्रोटोकॉल है कि इस तरह के एक प्रॉक्सी के साथ काम कर सकते हैं (वीपीएन, SSH, एसक्यूएल, संस्करण नियंत्रण, आदि)

5

के रूप में किया जा सकता है के माध्यम से 'HTTP CONNECT'-सक्षम (HTTPS) प्रॉक्सी कनेक्शन का समर्थन करता है अन्य ने उल्लेख किया है, "HTTP कनेक्ट" विधि आपको प्रॉक्सी के माध्यम से कोई भी टीसीपी-आधारित कनेक्शन स्थापित करने की अनुमति देती है। एचटीटीपीएस कनेक्शन के लिए मुख्य रूप से HTTPS कनेक्शन के लिए यह कार्यक्षमता आवश्यक है, क्योंकि संपूर्ण HTTP अनुरोध एन्क्रिप्ट किया गया है (इसलिए यह प्रॉक्सी को "अर्थहीन" टीसीपी कनेक्शन के रूप में दिखाई देता है)। दूसरे शब्दों में, प्रॉक्सी पर एक HTTPS सत्र, या प्रॉक्सी पर एक एसएसएच/एफटीपीएस सत्र, दोनों प्रॉक्सी में "एन्क्रिप्टेड सत्र" के रूप में दिखाई देंगे, और यह उन्हें अलग नहीं बता पाएगा, इसलिए इसे या तो उन्हें सभी या उनमें से कोई भी अनुमति दें।

सामान्य ऑपरेशन के दौरान, HTTP प्रॉक्सी HTTP अनुरोध प्राप्त करता है, और इसके साथ उच्च स्तर की चीजें करने में सक्षम होने के अनुरोध को समझने के लिए "पर्याप्त स्मार्ट" है (उदाहरण के लिए इसके कैश को यह देखने के लिए खोजें कि क्या यह बिना प्रतिक्रिया के सेवा कर सकता है गंतव्य सर्वर पर जाकर, या यह देखने के लिए कि क्या यह यूआरएल अनुमति है, श्वेतसूची/ब्लैकलिस्ट का समर्थन करता है)। "कनेक्ट" मोड में, इनमें से कोई भी नहीं होता है। प्रॉक्सी गंतव्य सर्वर से एक टीसीपी कनेक्शन स्थापित करता है, और क्लाइंट से गंतव्य सर्वर तक सभी ट्रैफ़िक और गंतव्य सर्वर से क्लाइंट तक सभी ट्रैफ़िक को आगे बढ़ाता है। इसका मतलब है कि कोई भी टीसीपी प्रोटोकॉल काम कर सकता है (एचटीटीपीएस, एसएसएच, एफ़टीपी - यहां तक ​​कि सादा HTTP)

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