برنامه نویسی با nodejs/جلسه چهارم/ ماژول Http

Http Module
Http Module

در خدمتتون هستیم با یک قسمت دیگه از سری آموزش Nodejs
این جلسه میخواهیم در مورد یکی از مهمترین ماژول های nodejs صحبت کنیم, خب بریم شروع کنیم *_*

ماژول http چیست؟

در واقع ماژول 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 ذخیره و اجرا کنید



اضافه کردن Http Header

اگر قرار هست که در جواب به درخواستی که برای شما میاد صفحه 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 هست به این معنی که همه چیز خوب است, آرگومان دوم هم آبجکتی شامل محتوای هدر هست.

خواندن Query String

تابعی که به متد 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



امیدوارم لذت برده باشید