JavaScript فقط در مرورگر اجرا نمیشود
Node.js محیط اجرای JavaScript خارج مرورگر است. در مرورگر به document و عناصر صفحه دسترسی دارید؛ در Node امکاناتی مثل سرور HTTP و فایلسیستم وجود دارد. یکسانبودن زبان به معنی یکسانبودن APIها و مجوزها نیست.
این درس یک پاسخ متنی از سرور میسازد. پیش از شروع، Node را از منبع رسمی متناسب با سیستمعامل خود نصب کنید و نسخه را بررسی کنید. برای یک پروژه تازه، نسخه پشتیبانیشده را انتخاب کنید؛ نسخهای که در یک آموزش قدیمی آمده الزاماً انتخاب مناسب امروز نیست.
یک درخواست و یک پاسخ
import { createServer } from "node:http";
const server = createServer((request, response) => {
response.writeHead(200, { "Content-Type": "text/plain; charset=utf-8" });
response.end("سلام از سرور");
});
server.listen(3000, "127.0.0.1");createServer برای درخواست ورودی یک تابع اجرا میکند. پاسخ، کد وضعیت و نوع محتوا دارد و با end پایان مییابد. بعد از ذخیره فایل، آن را با node server.mjs در محیط Node اجرا کنید و آدرس محلی را در مرورگر باز کنید. برای توقف، از فرمان قطع اجرای ترمینال استفاده کنید.
ورودی را قبل از استفاده بررسی کنید
وقتی از پاسخ ثابت به فرم و API میرسید، ورودی کاربر باید محدود و اعتبارسنجی شود. نوع داده، طول متن، حجم بدنه و مجوز کاربر را در سرور بررسی کنید. اینکه رابط مرورگر یک ورودی را محدود میکند، مانع ارسال مستقیم درخواست خراب نیست.
خطا را به پاسخ قابل فهم تبدیل کنید و جزئیات حساس را به کاربر نفرستید. کلید سرویس و رمز پایگاهداده باید در محیط سرور بماند. برای اتصال به سرویس بیرونی، زمان انتظار و رفتار تکرار درخواست را مشخص کنید.
قبل از پروژه بزرگ، این مسیر را کامل کنید
- یک مسیر خواندن داده و یک مسیر ارسال داده بسازید.
- پاسخ درست، ورودی نامعتبر و خطای سرویس را جدا آزمایش کنید.
- فرمان شروع، آزمون و ساخت را در پروژه ثبت کنید.
- پیش از انتشار، تنظیمات محیط و دسترسی شبکه را بررسی کنید.
اگر قرار است فایل کاربر دریافت کنید یا پرداخت داشته باشید، طراحی امنیت و خطا اهمیت بیشتری پیدا میکند. یک مثال ساده HTTP نقطه شروع است و نباید بهعنوان سرور آماده تولید منتشر شود.
