SOCKS5 विनंतीचे HTTP बोगद्यात भाषांतर
पालकासोबतची CONNECT देवाणघेवाण पूर्ण करा, क्लायंटला SOCKS उत्तर परत पाठवा आणि त्यानंतरच अनुप्रयोगाचे बाइट पुढे पाठवा.
SOCKS5 फ्रंट एंड HTTP प्रॉक्सीचा आपला पुढील वाहतूक मार्ग म्हणून वापर करू शकतो. तो क्लायंटच्या दिशेने SOCKS सर्व्हर म्हणून आणि पालकाच्या दिशेने HTTP CONNECT क्लायंट म्हणून कार्य करतो. अनुप्रयोगाचा प्रवाह सुरू होण्यापूर्वी दोन्ही नियंत्रण देवाणघेवाणी संपतात.
SOCKS CONNECT विनंती आधीच गंतव्य होस्ट किंवा पत्ता आणि पोर्ट देत असते. पालकासोबतच्या उदाहरणात्मक HTTP/1.1 देवाणघेवाणीसाठी:
client → adapter: SOCKS5 CONNECT service.example.net:443
adapter → parent:
CONNECT service.example.net:443 HTTP/1.1
Host: service.example.net:443
parent → adapter: HTTP/1.1 200 Connection Established
[end of headers]
adapter → client: SOCKS5 success reply
client ↔ adapter ↔ parent ↔ service: application bytes
सीमेवर निकालाचे भाषांतर करा
अॅडॉप्टर पालकाकडे आवश्यक असलेले कोणतेही प्रमाणीकरण पूर्ण करतो आणि CONNECT निकालाची वाट पाहतो. यशस्वी 2xx उत्तर पालकाचा बोगदा उभा करते. त्यानंतरच त्याने संबंधित SOCKS यशाचे उत्तर खालच्या क्लायंटला परत पाठवावे.
पालकाने क्रिया नाकारल्यास, निर्धारित SOCKS अयशस्वी उत्तर पाठवा, नंतर क्लायंटचे कनेक्शन त्वरित संपवा. SOCKS5 अयशस्वीपणा आढळल्यानंतर दहा सेकंदांत ते बंद करणे बंधनकारक करते. पालकाची HTTP स्थिती अॅडॉप्टरसाठी निदान माहिती म्हणून ठेवा. ती स्थिती ओळ अनुप्रयोग डेटा म्हणून पाठवल्यास ज्या प्रवाहाचा क्लायंट SOCKS चौकट अपेक्षितो त्यात HTTP नियंत्रण संदेश जाईल.
यशस्वी CONNECT निकालापूर्वी पालक अजूनही HTTP बोलतो, कोणत्याही आव्हान किंवा त्रुटी उत्तराच्या चौकटीसह. यशस्वी निकालाच्या हेडर विभाजकानंतर कनेक्शन बोगदा होते; आधी वापरण्यासाठी कोणतेही HTTP उत्तर मुख्य भाग नसते.
हेडरनंतरचे बाइट जतन करा
एका वाचनात पालकाच्या हेडरचा शेवट आणि गंतव्याकडून आलेले बाइट एकत्र असू शकतात. ते अतिरिक्त बाइट खालच्या अनुप्रयोगासाठी ठेवा. सर्व्हर प्रथम बोलणार्या प्रोटोकॉलना त्यांचे कनेक्शन उघडताच अभिवादन करता येते.
SOCKS यशाचे उत्तर पाठवल्यानंतर, अनुप्रयोगाचा प्रवाह दोन्ही दिशांनी पुढे पाठवा. अॅडॉप्टरला एक क्लायंट संदेश एका सर्व्हर संदेशाशी आलटून पालटून हाताळण्याची गरज नाही आणि ते पुढे पाठवण्यासाठी TLS नोंदी समजून घेण्याचीही गरज नाही. त्याचे प्रोटोकॉल कार्य दोन बोगदा वाटाघाटी उभ्या करणे आणि भाषांतर करणे हे होते.