# دستور http.createServer در Node.js ## مقدمه در این مقاله، به بررسی دستور `http.createServer` در محیط Node.js می‌پردازیم. Node.js یک محیط اجرایی سمت سرور است که بر پایه JavaScript کار می‌کند و قابلیت ایجاد وب سرویس‌ها را فراهم می‌کند. دستور `http.createServer` یک سرور HTTP ایجاد می‌کند که به درخواست‌های وب پاسخ می‌دهد. ## دستور http.createServer دستور `http.createServer` یک نمونه از سرور HTTP را ایجاد می‌کند. این دستور از ماژول `http` در Node.js استفاده می‌کند. برای استفاده از این دستور، ابتدا باید ماژول `http` را وارد کنیم. سپس با استفاده از تابع `createServer`، یک نمونه از سرور HTTP را ایجاد می‌کنیم. ```javascript const http = require('http'); const server = http.createServer((req, res) => { // کد پاسخ به درخواست‌ها }); server.listen(3000, 'localhost', () => { console.log('سرور در حال اجراست'); }); ``` ## مروری بر پارامترهای createServer تابع `createServer` می‌تواند یک پارامتر دریافت کند که مربوط به پاسخ به درخواست‌ها است. این پارامتر یک تابع است که دو پارامتر `req` (درخواست) و `res` (پاسخ) را دریافت می‌کند. در داخل این تابع، می‌توانیم به درخواست‌ها پاسخ دهیم و یا عملیات دیگری روی آن‌ها انجام دهیم. ```javascript const server = http.createServer((req, res) => { // کد پاسخ به درخواست‌ها }); ``` ## راه‌اندازی سرور بعد از ایجاد نمونه سرور، باید آن را راه‌اندازی کنیم. برای راه‌اندازی سرور، از تابع `listen` استفاده می‌کنیم. این تابع دو پارامتر را دریافت می‌کند: پورت و آدرس IP. مقدار پورت برای اتصال به سرور استفاده می‌شود و مقدار آدرس IP برای مشخص کردن آدرس سرور استفاده می‌شود. معمولاً مقدار آدرس IP را `localhost` قرار می‌دهیم تا سرور را در لوکال هاست اجرا کنیم. ```javascript server.listen(3000, 'localhost', () => { console.log('سرور در حال اجراست'); }); ``` ## نمونه کد در این قسمت، یک نمونه کد کامل برای استفاده از دستور `http.createServer` را بررسی می‌کنیم. در این نمونه کد، سرور به درخواست‌ها با پیام "سلام، دنیا!" پاسخ می‌دهد. ```javascript const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/html' }); res.write('سلام، دنیا!'); res.end(); }); server.listen(3000, 'localhost', () => { console.log('سرور در حال اجراست'); }); ``` ## پرسش‌های متداول ### دستور `http.createServer` چیست؟ دستور `http.createServer` یک نمونه از سرور HTTP در Node.js ایجاد می‌کند. این سرور قادر است به درخواست‌های وب پاسخ دهد و برنامه‌نویسان را قادر به ایجاد وب سرویس‌های پویا کند. ### چگونه می‌توانم از دستور `http.createServer` استفاده کنم؟ برای استفاده از دستور `http.createServer`، ابتدا باید ماژول `http` را وارد کنید. سپس با استفاده از تابع `createServer`، یک نمونه از سرور HTTP را ایجاد کنید و به آن عملیات مورد نیاز خود را اضافه کنید. ### آیا دستور `http.createServer` نیاز به پارامتر دارد؟ بله، دستور `http.createServer` نیاز به یک پارامتر دارد که مربوط به پاسخ به درخواست‌ها است. این پارامتر یک تابع است که دو پارامتر `req` (درخواست) و `res` (پاسخ) را دریافت می‌کند. شما می‌توانید در داخل این تابع به درخواست‌ها پاسخ دهید و یا عملیات دیگری روی آن‌ها انجام دهید. ### چگونه می‌توانم سرور را راه‌اندازی کنم؟ برای راه‌اندازی سرور، از تابع `listen` استفاده کنید. این تابع دو پارامتر را دریافت می‌کند: پورت و آدرس IP. مقدار پورت برای اتصال به سرور استفاده می‌شود و مقدار آدرس IP برای مشخص کردن آدرس سرور استفاده می‌شود. معمولاً مقدار آدرس IP را `localhost` قرار می‌دهیم تا سرور را در لوکال هاست اجرا کنیم. ### آیا دستور `http.createServer` به پورت خاصی محدود است؟ خیر، ما می‌توانیم هر پورتی را برای اتصال به سرور استفاده کنیم. با این حال، برخی از پورت‌ها معمولاً برای استفاده‌های خاصی اختصاص داده شده‌اند، مانند پورت 80 که برای اتصال به سرویس‌های وب استفاده می‌شود. ### آیا می‌توانم چندین سرور HTTP در یک برنامه Node.js ایجاد کنم؟ بله، شما می‌توانید چندین نمونه از سرور HTTP در یک برنامه Node.js ایجاد کنید. هر سرور می‌تواند به درخواست‌های وب پاسخ دهد و عملیات مورد نیاز خود را انجام دهد. ## نتیجه‌گیری دستور `http.createServer` یک ابزار قدرتمند در Node.js است که امکان ایجاد سرورهای HTTP را فراهم می‌کند. با استفاده از این دستور، می‌توانید به درخواست‌های وب پاسخ دهید و برنامه‌های پویا را برای کاربران خود ایجاد کنید. امیدوارم این مقاله برای شما مفید بوده باشد و به شما در فهمیدن دستور `http.createServer` کمک کرده باشد.