با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش Node.js در خدمت شما دوستان هستیم. در این جلسه قصد داریم به آموزش ماژول HTTP در Node.js بپردازیم.
Node.js یک ماژول داخلی به نام HTTP دارد که به Node.js اجازه می دهد تا داده ها را روی پروتکل انتقال ابر متن (HTTP) انتقال دهد.
برای وارد کردن این ماژول از تابع ()require استفاده می کنیم.
1 | var http = require('http'); |
ماژول HTTP می تواند یک سرور HTTP ایجاد کند که به پورت های سرور گوش می دهد و به کلاینت پاسخ می هد.
از تابع ()createServer برای ساخت یک سرور HTTP استفاده می کنیم:
1 2 3 4 5 6 7 | var http = require('http'); //create a server object: http.createServer(function (req, res) { res.write('Hello World!'); //write a response to the client res.end(); //end the response }).listen(8080); //the server object listens on port 8080 |
تابعی که به متد ()http.createServer ارسال شده است، هنگامی اجرا می شود که کسی بخواهد از طریق پورت ۸۰۸۰ به سرور متصل شود.
کد بالا را در فایل demo_http.js دخیره کنید و آن را اجرا کنید:
C:\Users\Your Name>node demo_http.js |
برای مشاهده خروجی باید آدرس http://localhost:8080 را در مرورگر وب تایپ کنید و enter را فشار دهید.
اگر قرار است که پاسخ سرور HTTP در قالب HTML نمایش داده شود، شما باید هدر (Header) HTTP را با نوع محتوای صحیح وارد کنید:
1 2 3 4 5 6 | 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 وضعیت کد است. ۲۰۰ به این معنی است که همه چیز ok می باشد.
دومین پارامتر یک شی سامل هدر های پاسخ است.
تابعی که به ()http.createServer ارسال شده است، یک آرگومان به نام req دارد که درخواست از طرف کلاینت را پاسخ می دهد. (مانند شی http.IncomingMessage)
این شی یک خاصیت به نام url دارد که بخشی از url ای که بعد از نام دامنه می اید را در خود نگه می دارد:
1 2 3 4 5 6 | var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(req.url); res.end(); }).listen(8080); |
کد بالا را در فایلی به نام demo_http_url.js ذخیره کنید و آن را اجرا کنید:
C:\Users\Your Name>node demo_http_url.js |
خروجی:
1 | /summer |
(برای دیدن خروجی آدرس http://localhost:8080/summer را در مرورگر تایپ کنید)
همچنین آدرس http://localhost:8080/winter خروجی زیر را می دهد:
1 | /winter |
جلسه آموزش ماژول HTTP در Node.js نیز به پایان رسید.
در جلسه بعد به آموزش سیستم فایل Node.js خواهیم پرداخت. با ما همراه باشید.