ફોરવર્ડ પ્રોક્સી દ્વારા સામાન્ય 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 આવૃત્તિઓ માટે એક વિકલ્પ ProxyAgent સાથે Undici નું fetch છે. જ્યારે સાદું HTTP આદાનપ્રદાન જ તે નિયંત્રિત કે સમજવાનું હોય ત્યારે આ નાનું કોર-ક્લાયન્ટ ઉદાહરણ રાખો.

સંબંધિત લેખો