F'talba HTTP ordinarja minn proxy 'l quddiem, Node jgħaqqad mal-proxy u jibgħat l-URL tad-destinazzjoni fil-linja tat-talba. Tliet valuri jiddeskrivu dik it-talba waħda:

ValurEżempju
Punt tat-tarf tal-konnessjoni TCPproxy.example:8080
Mira tat-talbahttp://example.com/news?q=proxy
Intestatura Hostexample.com

Dan l-eżempju ta' Node 22 jagħmel is-separazzjoni ċara:

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);

Il-punt tat-tarf huwa sostitut; agħżel kandidat mil-lista tal-proxy HTTP għal test HTTP pubbliku u iċċekkja r-risposta tiegħu. L-eżempju jbattal ir-risposta wara li jipprintja l-istat; applikazzjoni tista' tikkonsma l-korp minflok. Il-mistoqsija tibqa' parti mill-mira tat-talba.

Għaliex l-URL sħiħ jappartjeni hemmhekk

Server oriġinali normalment jirċievi mira bħal /news?q=proxy. Proxy 'l quddiem jeħtieġ ukoll id-destinazzjoni, għalhekk HTTP/1.1 jiddefinixxi l-mira f'forma assoluta:

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

Taħt ir-regoli ta' HTTP/1.1, proxy li jirċievi l-forma assoluta juża l-awtorità tal-URI meta jgħaddi 'l quddiem u jissostitwixxi qasam Host irċevut inkonsistenti. Li tibgħat intestatura Host tad-destinazzjoni konsistenti xorta żżomm it-talba ħierġa bla ambigwità. L-isem tal-host tal-konnessjoni ta' Node huwa l-intermedjarju, għalhekk issettja l-intestatura b'mod deliberat minflok ma tiddependi fuq dak l-indirizz tal-konnessjoni.

Jekk hija meħtieġa awtentikazzjoni, il-kredenzjali tal-proxy jappartjenu lill-hop tiegħu. L-għażla tat-talba auth ta' Node toħloq intestatura Authorization għar-riżorsa; mhijiex għażla ġenerali ta' dħul fil-proxy. Uża l-iskema meħtieġa mill-proxy u klijent tal-proxy xieraq meta l-iskambju jkun aktar kumpless.

HTTPS iżid mina

Dan l-eżempju jkopri t-trasferiment HTTP sempliċi. Konnessjoni HTTPS minn proxy HTTP tipika l-ewwel titlob CONNECT example.com:443, imbagħad tibda TLS lejn id-destinazzjoni fil-mina aċċettata. Li tibdel l-URL tal-eżempju għal HTTPS ma żżidx dawk l-istadji.

Għal HTTPS jew tagħbija mħallta, uża aġent jew dispatcher tal-proxy mantnut bl-appoġġ tal-mina meħtieġ. Għal verżjonijiet kompatibbli ta' Node, għażla waħda hija l-fetch ta' Undici b'ProxyAgent. Żomm dan l-eżempju żgħir tal-klijent ewlieni għall-każijiet fejn l-iskambju HTTP sempliċi nnifsu huwa dak li trid tikkontrolla jew tifhem.

Artikli relatati