በፊት አቅጣጫ ፕሮክሲ በኩል ለሚደረግ ተራ የHTTP ጥያቄ Node ከፕሮክሲው ጋር ይገናኛል እና የመድረሻውን URL በጥያቄው መስመር ውስጥ ይልካል። ሶስት እሴቶች ያንን አንድ ጥያቄ ይገልጻሉ፦

እሴትምሳሌ
የTCP ግንኙነት መጨረሻ ነጥብproxy.example:8080
የጥያቄ ዒላማhttp://example.com/news?q=proxy
Host ራስጌexample.com

ይህ የNode 22 ምሳሌ መለያዩን ግልጽ ያደርገዋል፦

const http = require('node:http');
const destination = new URL('http://example.com/news?q=proxy');

const request = http.get({
  hostname: 'proxy.example',
  port: 8080,
  path: destination.href,
  headers: { Host: destination.host },
  signal: AbortSignal.timeout(15000),
}, (response) => {
  console.log(response.statusCode);
  response.on('error', console.error);
  response.resume();
});
request.on('error', console.error);

መጨረሻ ነጥቡ የቦታ ያዥ ነው፤ ለሕዝብ የHTTP ሙከራ ከHTTP ፕሮክሲ ዝርዝር እጩ ይምረጡ እና ምላሹን ይመርምሩ። ምሳሌው ሁኔታውን ካተመ በኋላ ምላሹን ያጠጣዋል፤ አንድ መተግበሪያ በምትኩ አካሉን ሊጠቀም ይችላል። ጥያቄው የጥያቄ ዒላማው አካል ሆኖ ይቆያል።

ሙሉው URL ለምን እዚያ ይገባል

የመነሻ አገልጋይ በተለምዶ እንደ /news?q=proxy ያለ ዒላማ ይቀበላል። የፊት አቅጣጫ ፕሮክሲም መድረሻውን ይፈልጋል፣ ስለዚህ HTTP/1.1 ፍጹሙን ቅርጽ ዒላማ ይገልጻል፦

GET http://example.com/news?q=proxy HTTP/1.1
Host: example.com

በHTTP/1.1 ደንቦች መሠረት፣ ፍጹሙን ቅርጽ የተቀበለ ፕሮክሲ ሲያስተላልፍ የURIውን ስልጣን ይጠቀማል እና የማይጣጣም የተቀበለ Host መስክን ይተካል። ወጥነት ያለው የመድረሻ Host ራስጌ መላክ አሁንም የወጪውን ጥያቄ ከማያሻማ ያደርገዋል። የNode የግንኙነት አስተናጋጅ ስም መካከለኛው ነው፣ ስለዚህ በዚያ የግንኙነት አድራሻ ላይ ከመተማመን ይልቅ ራስጌውን ሆን ብለው ያዘጋጁ።

ማረጋገጫ ከተፈለገ፣ የፕሮክሲው ማስረጃዎች የራሱ የሆነው የመዝለል ክፍል ናቸው። የNode auth የጥያቄ አማራጭ ለሀብቱ Authorization ራስጌ ይፈጥራል፤ እሱ አጠቃላይ የፕሮክሲ መግቢያ አማራጭ አይደለም። ግብይቱ የበለጠ ሲወሳሰብ የፕሮክሲውን የሚፈለግ እቅድ እና ተስማሚ የፕሮክሲ ደንበኛ ይጠቀሙ።

HTTPS ዋሻ ይጨምራል

ይህ ምሳሌ ተራ የHTTP ማስተላለፍን ይሸፍናል። የተለመደ በHTTP ፕሮክሲ በኩል የHTTPS ግንኙነት መጀመሪያ CONNECT example.com:443 ይጠይቃል፣ ከዚያ በተቀበለው ዋሻ ውስጥ ወደ መድረሻው TLS ይጀምራል። የምሳሌውን URL ወደ HTTPS መቀየር እነዚያን ደረጃዎች አይጨምርም።

ለHTTPS ወይም ለተቀላቀለ ሥራ አስፈላጊውን የዋሻ ድጋፍ ያለው የተጠበቀ የፕሮክሲ ወኪል ወይም አስተላላፊ ይጠቀሙ። ለሚስማሙ የNode ስሪቶች አንድ አማራጭ Undici ከProxyAgent ጋር የሚሰጠው fetch ነው። ተራው የHTTP ግብይት ራሱ መቆጣጠር ወይም መረዳት የሚፈልጉት ነገር ሲሆን ይህን ትንሽ የኮር ደንበኛ ምሳሌ ያቆዩ።

ተዛማጅ ጽሑፎች