HTTP CONNECT ଟନେଲ ଭିତରେ WHOIS ପ୍ରଶ୍ନ
ଅନୁମତିପ୍ରାପ୍ତ HTTP CONNECT ପଥ TCP ପୋର୍ଟ 43 ପ୍ରଶ୍ନ ବହନ କରିବା ସମୟରେ ପ୍ରକ୍ସି ହ୍ୟାଣ୍ଡସେକ ଓ WHOIS ଅନୁରୋଧକୁ ଦୁଇଟି ପୃଥକ ବିନିମୟ ଭାବରେ ଅନୁସରଣ କରନ୍ତୁ।
ଯଦି ଆବଶ୍ୟକ ସନ୍ଧାନ ଏବେ ମଧ୍ୟ ପାରମ୍ପରିକ WHOIS ବ୍ୟବହାର କରେ, ତେବେ HTTP ପ୍ରକ୍ସି ସେହି TCP ବିନିମୟ ବହନ କରିପାରେ ଯେତେବେଳେ ଏହାର ନୀତି WHOIS ସେବାକୁ CONNECT ଅନୁମତି ଦିଏ। କ୍ଲାଏଣ୍ଟ ସନ୍ଧାନ ପାଠ ପଠାଇବା ପୂର୍ବରୁ ପ୍ରକ୍ସି ହ୍ୟାଣ୍ଡସେକ ସମ୍ପୂର୍ଣ୍ଣ କରିବ ଆବଶ୍ୟକ। ପ୍ରକ୍ସି ପ୍ରମାଣପତ୍ର ବିନା ଅନୁମତିପ୍ରାପ୍ତ ସାର୍ବଜନୀନ 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 ସେବାକୁ ସୂଚାଏ, ତେବେ ଯେକୌଣସି ପରବର୍ତ୍ତୀ ପ୍ରଶ୍ନ ପାଇଁ ସେହି ସେବା ସହିତ ନିଜସ୍ୱ ଅନୁମତିପ୍ରାପ୍ତ ସଂଯୋଗ ଆବଶ୍ୟକ।