በ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ን በተለያየ ማዕቀፍ ባለው ዥረት ላይ ይሸከማል።