Node HTTPক প্ৰক্সীৰ মাজেৰে পথ চলা অনুৰোধৰ শাৰী
সংযোগৰ প্ৰান্তবিন্দু, নিৰপেক্ষ লক্ষ্য আৰু Host শিৰোনামা পৃথক কৰি Node ৰ মূল ক্লায়েন্টেৰে সাধাৰণ HTTP প্ৰক্সী অনুৰোধ গঢ়ি তোলক।
আগফালে যোৱা প্ৰক্সীৰ মাজেৰে সাধাৰণ 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 লেনদেনটোৱেই যেতিয়া আপুনি নিয়ন্ত্ৰণ বা বুজিব বিচৰা বস্তু, তেতিয়া এই সৰু মূল-ক্লায়েন্ট উদাহৰণটো ৰাখক।