የcURL ፕሮክሲ ጊዜዎችን ከደንበኛው ወገን ማንበብ
የግንኙነት፣ የTLS፣ የመጀመሪያ ባይት እና አጠቃላይ ጊዜ መለኪያዎችን ሳይታዩ የላይኛውን ሥራ ለፕሮክሲ-ብቻ መለኪያ ሳይመድቡ መተርጎም።
cURL አዲስ የTCP ግንኙነት ወደ ተራ የHTTP ፕሮክሲ ከፍቶ የHTTPS ዋሻ እንደሚመሠርት እና አንድ ምላሽ እንደሚያወርድ እናስብ። የጊዜ መለኪያዎቹ በዚያ መንገድ ላይ cURL የተመለከታቸውን ምዕራፎች ይገልጻሉ።
| እሴት | ከማስተላለፍ መጀመሪያ የሚለካ ምዕራፍ |
|---|---|
| time_connect | ወደ ፕሮክሲው የተደረገ ግንኙነት ተጠናቅቋል |
| time_appconnect | የሚመለከተው የTLS እጅ-መጨበጫ ተጠናቅቋል |
| time_starttransfer | የመጀመሪያው የምላሽ ባይት ተቀብሏል |
| time_total | ማስተላለፉ ተጠናቅቋል |
ለምሳሌ የPOSIX-shell ቀረጻ፦
curl --proxy http://proxy.example:8080 \
--output /dev/null \
--write-out 'connect=%{time_connect} tls=%{time_appconnect} first=%{time_starttransfer} total=%{time_total}\n' \
https://example.com/
የመግቢያ ምስክር ሳይኖር የሚፈቀድ የሕዝብ HTTPS ንጽጽር ለማድረግ ከየHTTP ፕሮክሲ ዝርዝር የተወሰደ የHTTP መዝገብ የምሳሌውን ፕሮክሲ ሊተካ ይችላል። እሴቶቹ በሰከንድ የተከማቹ ናቸው። አንድ ላይ የሚደመሩ አራት ራሳቸውን የቻሉ የቆይታ ጊዜዎች አይደሉም። የማስተላለፍ ስህተቱንና የምላሽ ሁኔታውን ከቁጥሮቹ ጋር ያስቀምጡ፦ ያልተሳካ ግንኙነት ወይም የተገለለ ዋሻ በኋላ ያሉትን ምዕራፎች ሁሉ አልደረሰም።
መቀነስ ምን ሊነግርዎት ይችላል
ለአንድ የተሳካ ምላሽ time_total ሲቀነስ time_starttransfer የመጀመሪያው ባይት ከደረሰ በኋላ የቀረውን ክፍተት ይገልጻል። ይህ በዋናነት የኋለኛው የምላሽ ማስተላለፍና ተያያዥ የደንበኛ ጎን ሥራ ነው። ፕሮክሲው ወደ ድረ-ገጹ ለመገናኘት የፈጀው ጊዜ ግን አይደለም፣ ምክንያቱም ይህ ምላሹ ከመድረሱ በፊት ተፈጽሟል።
በተመሳሳይ ሁኔታ time_starttransfer ሲቀነስ time_connect የዋሻ መመሥረትን፣ TLSን፣ የላይኛው ኔትወርክ ጥበቃዎችን፣ የአገልጋይ ሥራንና ሌሎች ሂደቶችን ሊያካትት ይችላል። መላውን ልዩነት "የፕሮክሲ መዘግየት" ብለው መጥራት ብዙ ክፍሎችን ለአንድ ተሳታፊ መመደብ ነው።
የፕሮክሲውን የላይኛው የDNS፣ የግንኙነትና የምላሽ ጥበቃዎች ለመለየት በፕሮክሲው ወገን ያሉ ተመሳሳይ ምልከታዎችን ወይም ዱካዎችን ማግኘት ያስፈልጋል። ደንበኛው እነዚህን ውስጣዊ የጊዜ ማህተሞች የሚያገኘው HTTP CONNECT በመጠቀሙ ብቻ አይደለም።
ተመጣጣኝ ማስተላለፎችን ያወዳድሩ። ማስተላለፊያዎች ከበርካታ ጥያቄዎች የጊዜ መለኪያዎችን ይጨምራሉ፣ የግንኙነት እንደገና መጠቀምና ብዜት ደግሞ የትኛው የዝግጅት ሥራ እንደሚያስፈልግ ይለውጣሉ። የአንድን ፕሮክሲ ቁጥሮች ከሌላው ጋር ከማወዳደርዎ በፊት እነዚህን ሁኔታዎች ይመዝግቡ።