در خدمتتون هستیم با یک قسمت دیگه از سری آموزش Nodejs
این جلسه میخواهیم در مورد یکی از مهمترین ماژول های nodejs صحبت کنیم, خب بریم شروع کنیم *_*
در واقع ماژول Http یکی از ماژول های درونی nodejs هست ( built-in module ) که به ما این امکان رو میده به ارسال و دریافت اطلاعات تحت پروتوکل Hyper Text Transfer Protocol بپردازیم.
برای استفاده از متد 'Http' میتونید از تابع require به صورت زیر استفاده کنید:
const let = require('http')
با استفاده از ماژول Http می توان یک سرور Http ساخت که به یک پورت خاصی گوش بده, در جواب به درخواست هایی که از سمت کلاینت به این سرور ارسال میشه جواب هایی رو ارسال کنه:
var http = require('http');
http.createServer(function (req, res) { res.write('Hello World!'); //ارسال جواب به سمت کلاینت res.end(); //پایان جواب }).listen(8080); //سرور به پورت 8080 گوش میدهد
تابعی که به متد http.createServer پاس داده شده این کار رو برای ما انجام میده که اگر در کامپیوتری که این سرور ایجاد شده درخواستی به آدرس http://localhost:8080 ارسال کنه جوابی حاوی متن Hello World دریافت میکنه
تمرین: این کد رو داخل فایلی به نام myFirstServer.js ذخیره و اجرا کنید
اگر قرار هست که در جواب به درخواستی که برای شما میاد صفحه html ارسال کنید باید به همراه جواب Header مناسب هم ارسال کنید, دقت کنید که متن Header باید متن درستی بر اساس جواب شما باشه:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'}); // هدر مناسب
res.write('Hello World!');
res.end();
}).listen(8080);
اولین آرگومان که متد res.writeHead()
داده شده رو بهش میگن status code که اینجا عدد 200 هست به این معنی که همه چیز خوب است, آرگومان دوم هم آبجکتی شامل محتوای هدر هست.
تابعی که به متد http.CreateServer پاس داده شده آرگومانی با نام req داره که این آرگومان حاوی آبجکتی شامل درخواستی هست که از سمت کلاینت به شما ارسال شده, در واقع به این آبجکن http.IncomingMessage object میگن
این آبجکت یک Property تحت عنوان " url " داره که قسمتی از url رو که بعد از domain name میاد رو داخل خودش نگه میداره
var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(req.url); res.end(); }).listen(8080);
کد بالا رو در فایلی ذخیره و اجرا کنید
توی مرورگر این آدرس رو وارد کنید: localhost:8080/salam
که این نتیجه به شما برگردونده خواهد شد
/salam
توی مرورگر این آدرس رو وارد کنید: localhost:8080/salam1
که این نتیجه به شما برگردونده خواهد شد
/khodafez
امیدوارم لذت برده باشید