Esicelweni se-HTTP esijwayelekile esidlula ku-proxy ebheke phambili, i-Node ixhumanisa ne-proxy futhi ithumela i-URL yendawo ekuyiwa kuyo emugqeni wesicelo. Izinto ezintathu zichaza leso sicelo esisodwa:

InaniIsibonelo
Iphoyinti lokuxhumana le-TCPproxy.example:8080
Umgomo wesicelohttp://example.com/news?q=proxy
Isihloko se-Hostexample.com

Lesi sibonelo se-Node 22 senza ukuhlukanisa kucace:

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

Iphoyinti liyindawo ebekelwe; khetha umuntu othile ovela ohlangothini lwe-proxy ye-HTTP ukuze uhlole i-HTTP yomphakathi bese uhlola impendulo yakhe. Isibonelo sikhulula impendulo ngemuva kokuphrinta isimo; uhlelo lokusebenza lungasebenzisa umzimba esikhundleni salokho. Umbuzo uhlala uyingxenye yomgomo wesicelo.

Kungani i-URL ephelele ifanele ibe lapho

Iseva yomthombo ivamise ukuthola umgomo ofana ne-/news?q=proxy. I-proxy ebheke phambili nayo idinga indawo ekuyiwa kuyo, ngakho i-HTTP/1.1 ichaza umgomo ngendlela ephelele:

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

Ngaphansi kwemithetho ye-HTTP/1.1, i-proxy ethola indlela ephelele isebenzisa igunya le-URI lapho idlulisela futhi ishintsha inkambu ye-Host etholakele engahambisani. Ukuthumela isihloko se-Host somgomo esihambisanayo kusigcina isicelo esiphumayo singacaci kahle. Igama lomsingathi woxhumano lwe-Node ungumxhumanisi, ngakho setha isihloko ngamabomu esikhundleni sokuthembela kulelo kheli lokuxhumana.

Uma ukufakazela ubuqiniso kudingeka, imininingwane ye-proxy ingeyegxathu layo. Inketho yesicelo auth ye-Node yakha isihloko se-Authorization sensiza; akusiyo inketho evamile yokungena ku-proxy. Sebenzisa uhlelo oludingwa i-proxy nekliyenti ye-proxy efanele lapho ukushintshana kuyinkimbinkimbi kakhulu.

I-HTTPS yengeza umhubhe

Lesi sibonelo sihlanganisa ukudlulisa i-HTTP okujwayelekile. Uxhumano lwe-HTTPS ngokusebenzisa i-proxy ye-HTTP lujwayelekile lucela i-CONNECT example.com:443 kuqala, bese luqala i-TLS kumgomo ngaphakathi komhubhe owamukelwe. Ukushintsha i-URL yesibonelo ibe yi-HTTPS akwengezi lezo zigaba.

Nge-HTTPS noma umthwalo oxubile, sebenzisa i-ejenti noma isithumeli se-proxy esigcinwayo esinosekelo lomhubhe oludingekayo. Ngezinguqulo ze-Node ezihambisanayo, enye inketho i-fetch ye-Undici ne-ProxyAgent. Gcina lesi sibonelo esincane sekliyenti eyinhloko sezimo lapho ukushintshana kwe-HTTP okujwayelekile kukodwa kuyikho okudinga ukukulawula noma ukukuqonda.

Izihloko ezihlobene