Í einum vanligum HTTP-fyrispurningi gjøgnum ein framleiðandi proxy setur Node samband við proxyina og sendur URL'ina hjá málinum í rokstulinum. Trý virði lýsa hesum eina fyrispurningi:

VirðiDømi
TCP-sambandsendapunkturproxy.example:8080
Mál fyrispurningsinshttp://example.com/news?q=proxy
Host-høvdiexample.com

Hetta Node 22-dømið ger skilnaðin týðuligan:

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

Endapunkturin er staðsetur; vel eitt evni úr HTTP-proxy-listuni til eina almenna HTTP-roynd og kanna svarið. Dømið tømir svarið eftir at hafa prentað støðuna; eitt forrit kann etur líkamann í staðin. Fyrispurningurin verður verandi partur av málinum.

Hví fulla URL'ini hoyrir har

Ein upprunaservari fær vanliga eitt mál sum /news?q=proxy. Ein framleiðandi proxy tørvar eisini málið, tí definerar HTTP/1.1 málið í absolutari form:

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

Eftir reglum HTTP/1.1 brúkar ein proxy, sum fær absolutari form, valdið hjá URI'ini, tá ið hon leiðir víðari, og skiftir út ein ósamstemdan móttiknan Host-felt. At senda eitt samstemd Host-høvdi hjá málinum heldur tí útgangandi fyrispurninginum ótvíræðum. Sambandsvertnavnið í Node er millumliðurin, so set høvdið við vilja í staðin fyri at líta á ta sambandsadressuna.

Um váttan er kravd, hoyra váttanarorð proxyarinnar til hennara hóps. Fyrispurningsvalmøguleikin auth í Node ger eitt Authorization-høvdi fyri tilfeingið; hann er ikki ein almennur proxy-innritingsmøguleiki. Brúka ta skránna, sum proxyin krevur, og ein hóskandi proxy-klient, tá ið umbýtið er meira fløkt.

HTTPS leggur eina tunnil afturat

Hetta dømið fevnir um vanliga HTTP-leiðing. Ein vanlig HTTPS-samband gjøgnum eina HTTP-proxy biður fyrst um CONNECT example.com:443 og byrjar so TLS til málið inni í móttiknu tunnilinum. At broyta URL'ina í døminum til HTTPS leggur ikki tey stigini afturat.

Til HTTPS ella eina blandaða byrðu brúka eina viðhaldna proxy-agent ella -sendara við tí tunnil-stuðlinum, sum tørvur er á. Til samsvarandi Node-versjónir er ein møguleiki fetch hjá Undici við ProxyAgent. Halt hetta lítla kjarnaklient-dømið til teir føgini, har tann vanliga HTTP-umbýtið sjálvt er tað, tú skalt stýra ella skilja.

Skyldar greinar