HTTP CONNECT सुरुङभित्रको WHOIS प्रश्न
अनुमति दिइएको HTTP CONNECT मार्गले TCP पोर्ट 43 प्रश्न बोक्दा प्रोक्सी ह्यान्डशेक र WHOIS अनुरोधलाई दुई अलग आदानप्रदानका रूपमा हेर्नुहोस्।
यदि आवश्यक खोजीले अझै परम्परागत WHOIS प्रयोग गर्छ भने, प्रोक्सीको नीतिले WHOIS सेवामा CONNECT अनुमति दिँदा HTTP प्रोक्सीले त्यो TCP आदानप्रदान बोक्न सक्छ। क्लाइन्टले खोजी पाठ पठाउनु अघि प्रोक्सी ह्यान्डशेक पूरा गर्नुपर्छ। प्रोक्सी प्रमाणहरू कन्फिगर नगरी अनुमति दिइएको सार्वजनिक WHOIS परीक्षणका लागि HTTP प्रोक्सी सूचीले सम्भावित मध्यस्थहरू दिन्छ; तीमध्ये एउटाले WHOIS सेवाको होस्ट र पोर्ट 43 अनुमति दिन्छ भनी अलग जाँच गर्नुहोस्।
whois.example नामको काल्पनिक सेवाका लागि, यो HTTP अनुरोधबाट सुरु गर्नुहोस्:
CONNECT whois.example:43 HTTP/1.1
Host: whois.example:43
HTTP लाइनका अन्त्यहरू CRLF का रूपमा लेख्नुहोस्। प्रोक्सीको पूरा प्रतिक्रिया पढ्नुहोस्, त्यसको अन्त्य गर्ने खाली हेडर लाइनसमेत, र सङ्ख्यात्मक सफलता स्थिति जाँच्नुहोस्। स्थिति लाइनको केही भाग प्राप्त गर्नु अर्को प्रोटोकल सुरु गर्न पर्याप्त हुँदैन।
त्यसपछि WHOIS पाठ पठाउनुहोस्
सुरुङ खुलेपछि, त्यो WHOIS सर्भरले अपेक्षा गर्ने प्रश्न पठाउनुहोस्। एउटा सरल उदाहरण प्रश्न यो हो:
example.com<CRLF>
यो चिन्हले क्यारेज-रिटर्न र लाइन-फिड बाइटहरू जनाउँछ। यो डोमेन नामको भाग होइन। यो WHOIS आदानप्रदानभित्र कुनै HTTP GET लाइन वा HTTP प्रतिक्रिया स्थिति छैन।
WHOIS सर्भरले जडान बन्द नगरेसम्म पाठ पढ्नुहोस्। प्रतिक्रियामा धेरै लाइन हुन सक्छन्; पहिलो नयाँ लाइनले पूरा भयो भन्ने अर्थ लाग्दैन। कार्यान्वयनमा जडान र पढाइको प्रतीक्षा सीमित राख्नुहोस्।
यो क्रमले पार्सरलाई दुई फरक सीमा पनि दिन्छ। पहिले HTTP हेडर ब्लक आउँछ। त्यसपछि WHOIS प्रतिक्रिया आउँछ, जसको पूर्णता जडान बन्द हुनाले सङ्केत गरिन्छ। विश्लेषण गरिएको सीमाभन्दा बाहिर बफर भएका कुनै पनि बाइट राख्नुहोस्, सम्पूर्ण नेटवर्क पढाइ फाल्नुको सट्टा।
प्रोक्सीको अस्वीकृतिको अर्थ सुरुङ कहिल्यै खुलेन, त्यसैले पछि डोमेन पठाउँदा WHOIS नतिजा आउन सक्दैन। यदि सर्भरको उत्तरले अर्को WHOIS सेवालाई सङ्केत गर्छ भने, कुनै पनि पछिको प्रश्नलाई त्यो सेवासँग आफ्नै अनुमत जडान चाहिन्छ।