CONNECT ৰ পিছৰ ৰিক্ত শাৰীৰ বাবে অপেক্ষা কৰক
ষ্টেটাছ লাইন আগতে আহিলেও ছকেটটো TLS লৈ হস্তান্তৰ কৰাৰ আগতে সম্পূৰ্ণ HTTP/1 CONNECT সঁহাৰি পঢ়ক।
ক্লায়েন্টে 200 Connection Established দেখি TLS আৰম্ভ কৰে, আৰু TLS ৰেকৰ্ড থকা উচিত ঠাইত অৰ্থহীন কথা দেখুৱায়। গন্তব্যৰ চাইফাৰ ছেটিংছক দোষ দিয়াৰ আগতে অসম্পূৰ্ণ HTTP সঁহাৰি এটা আছে নেকি চাওক।
HTTP/1 CONNECT বিনিময়ত ষ্টেটাছ লাইনটো সঁহাৰিৰ আৰম্ভণিহে। তাৰ পিছত হেডাৰ ফিল্ড আহিব পাৰে। সফল CONNECT সঁহাৰিৰ পিছত হেডাৰ অংশ শেষ কৰা ৰিক্ত শাৰীয়ে টানেললৈ সলনি হোৱাটো সূচায়।
HTTP/1.1 200 Connection Established\r\n
Proxy-Agent: example\r\n
\r\n
এই বাইটবোৰ এটা ৰিডত, কেইবাটাও ৰিডত, বা পৰৱৰ্তী বাইটো থকা এটা ৰিডত আহিব পাৰে। TCP-ই চাৰ্ভাৰৰ লিখন সীমা ৰক্ষা নকৰে।
হস্তান্তৰটো স্পষ্ট পাৰ্ছাৰ অৱস্থা কৰি লওক
- ষ্টেটাছ লাইন সংগ্ৰহ কৰি পাৰ্ছ কৰক। সঠিক ইংৰাজী reason phrase ৰ সলনি সংখ্যাগত ষ্টেটাছ ব্যৱহাৰ কৰক।
- হেডাৰ অংশৰ সম্পূৰ্ণ সমাপ্তি নহালৈকে আগবাঢ়ি যাওক। সফল ষ্টেটাছ লাইনে বাকী ফিল্ডবোৰ নোহোৱা নকৰে।
- সফল CONNECT সঁহাৰিত সমাপ্তিৰ ঠিক পিছৰ বাইটটো টানেল ডেটাৰ আৰম্ভণি বুলি ধৰক। আন সঁহাৰিত উপযুক্ত HTTP সঁহাৰি আৰু প্ৰমাণীকৰণ পদ্ধতি অনুসৰণ কৰক।
- সংযোগ আৰু অব্যৱহৃত বাইটসমূহ পৰৱৰ্তী প্ৰট'কলে সমৰ্থন কৰা বাফাৰযুক্ত I/O ইণ্টাৰফেচেৰে হস্তান্তৰ কৰক।
ভাল ডিলিমিটাৰ সন্ধান থাকিলেও শেষ পদক্ষেপটো গুৰুত্বপূৰ্ণ। এটা বাফাৰযুক্ত ৰিডাৰে পাৰ্ছাৰে বিচৰাতকৈ বেছি ছকেট গ্ৰহণ কৰি থাকিব পাৰে। খালী ছকেটত TLS আৰম্ভ কৰি ৰিডাৰটো এৰি দিলে বাইটবোৰ ৰিডাৰৰ ব্যক্তিগত বাফাৰত ৰৈ যাব পাৰে।
ছেটআপৰ সময়সীমা আৰু হেডাৰৰ আকাৰৰ সীমা ব্যৱহাৰ কৰক। সমাপ্তিৰ আগতে EOF হ'ল অসম্পূৰ্ণ প্ৰক্সি সঁহাৰি, চিৰকাল অপেক্ষা কৰা বা যিকোনো প্ৰকাৰে TLS চেষ্টা কৰাৰ আমন্ত্ৰণ নহয়।
কেইবাটাও সীমাৰ কথা ভাবি চাওক
Proxy-Agent: ৰ পিছত শেষ হোৱা এটা ৰিড কল্পনা কৰক। পাৰ্ছাৰৰ এতিয়াও অধিক HTTP হেডাৰ বাইট লাগে। শেষৰ CRLF ক্ৰমৰ মাজতে শেষ হোৱা আন এটা ৰিড কল্পনা কৰক। সেয়া এতিয়াও সম্পূৰ্ণ হেডাৰ অংশ নহয়। এতিয়া একেটা বাফাৰত সম্পূৰ্ণ সফল হেডাৰ অংশৰ পিছতে টানেল বাইট থকা অৱস্থা কল্পনা কৰক: সেই অতিৰিক্ত বাইটবোৰে হস্তান্তৰ পাৰ হৈ যাব লাগিব।
407 বেলেগ ফলাফল। ইয়াত প্ৰমাণীকৰণ প্ৰয়োজন; কেতিয়াও নোখোলা টানেললৈ TLS ClientHello পঠিয়াবলৈ ই অনুমতি নিদিয়ে।
হেণ্ডশ্বেক ৰূপায়ণ কৰাটোৱেই কাম নহ'লে ৰক্ষণাবেক্ষিত কানেক্টৰ বাছনি কৰক। এই সীমা ইয়াত দেখুওৱা HTTP/1 বিনিময়ৰ বাবে বিশেষ। HTTP/2 প্ৰক্সিয়ে CONNECT বেলেগ ফ্ৰেমিঙৰ স্ট্ৰিমত কঢ়িয়ায়।