إنشاء خادم ويب HTTP في Node.js: البرنامج التعليمي مع مثال التعليمات البرمجية
يُستخدم إطار عمل Node.js في الغالب لإنشاء تطبيقات تعتمد على الخادم. يمكن استخدام إطار العمل بسهولة لإنشاء خوادم ويب يمكنها تقديم المحتوى للمستخدمين.
هناك مجموعة متنوعة من الوحدات مثل وحدة "http" و"الطلب"، والتي تساعد في معالجة الطلبات المتعلقة بالخادم في مساحة خادم الويب. سنلقي نظرة على كيفية إنشاء تطبيق خادم ويب أساسي باستخدام عقدة شبيبة.
عقدة كخادم ويب باستخدام HTTP
دعونا نلقي نظرة على مثال لكيفية إنشاء وتشغيل أول تطبيق Node js.
سيقوم تطبيقنا بإنشاء وحدة خادم بسيطة تستمع على المنفذ رقم 7000. إذا تم تقديم طلب من خلال المتصفح على هذا المنفذ رقم، فسيرسل تطبيق الخادم استجابة "Hello World" إلى العميل.
شرح الكود
- الوظيفة الأساسية للوظيفة المطلوبة هي أنها تقرأ ملف Javaسيناريو الملف، ينفذ الملف، ثم يتابع إرجاع كائن التصدير. لذلك في حالتنا، نظرًا لأننا نريد استخدام وظيفة وحدة http، فإننا نستخدم الوظيفة المطلوبة للحصول على الوظائف المطلوبة من وحدة http بحيث يمكن استخدامها في تطبيقنا.
- في هذا السطر من التعليمات البرمجية، نقوم بإنشاء تطبيق خادم يعتمد على وظيفة بسيطة. يتم استدعاء هذه الوظيفة عند تقديم طلب إلى تطبيق الخادم الخاص بنا.
- عندما يتم تلقي طلب، فإننا نطلب إرسال رد بنوع رأس "200". هذا الرقم هو الاستجابة العادية التي يتم إرسالها في رأس http عند إرسال استجابة ناجحة إلى العميل.
- وفي الرد نفسه، نقوم بإرسال السلسلة "Hello World".
- نستخدم بعد ذلك وظيفة server.listen لجعل تطبيق الخادم الخاص بنا يستمع إلى طلبات العميل على المنفذ رقم 7000. يمكنك تحديد أي منفذ متاح هنا.
إذا تم تنفيذ الأمر بنجاح، سيتم عرض الإخراج التالي عند تشغيل الكود الخاص بك في المتصفح.
الناتج
من الإخراج،
- يمكنك أن ترى بوضوح أنه إذا انتقلنا إلى عنوان URL الخاص بـ localhost على المنفذ 7000، فسترى السلسلة "Hello World" معروضة في الصفحة.
- نظرًا لأننا ذكرنا في الكود الخاص بنا على وجه التحديد أن الخادم يستمع على المنفذ رقم 7000، فإننا قادرون على عرض الإخراج عند التصفح إلى عنوان url هذا.
هنا هو رمز للرجوع اليها
var http=require('http') var server=http.createServer((function(request,response) { response.writeHead(200, {"Content-Type" : "text/plain"}); response.end("Hello World\n"); })); server.listen(7000);
التعامل مع طلبات GET في Node.js
إن إنشاء طلب GET للحصول على البيانات من موقع آخر أمر بسيط نسبيًا في Node.js. لإنشاء طلب Get في العقدة، نحتاج أولاً إلى تثبيت وحدة الطلب. يمكن القيام بذلك عن طريق تنفيذ السطر التالي في سطر الأوامر
طلب تثبيت npm
يطلب الأمر أعلاه من مدير حزمة Node تنزيل وحدات الطلب المطلوبة وتثبيتها وفقًا لذلك.
عندما يتم تثبيت وحدة npm الخاصة بك بنجاح، سيعرض سطر الأوامر اسم الوحدة المثبتة وإصدارها: @ .
في اللقطة أعلاه، يمكنك أن ترى أنه تم تنزيل وتثبيت وحدة "الطلب" مع رقم الإصدار 2.67.0.
الآن دعونا نرى الكود الذي يمكنه الاستفادة من أمر "الطلب" هذا.
شرح الكود
- نحن نستخدم وحدة "الطلب" التي تم تثبيتها في الخطوة الأخيرة. تحتوي هذه الوحدة على الوظائف الضرورية التي يمكن استخدامها لتقديم طلبات GET إلى مواقع الويب.
- نقوم بإرسال طلب GET إلى www.google.com ثم نستدعي وظيفة عند تلقي استجابة. عند تلقي استجابة، ستحمل المعلمات (الخطأ والاستجابة والنص) القيم التالية
- خطأ – في حالة حدوث أي خطأ عند استخدام طلب GET، سيتم تسجيله هنا.
- الاستجابة- ستحتوي الاستجابة على رؤوس http التي يتم إرسالها مرة أخرى في الاستجابة.
- النص - سيحتوي النص على المحتوى الكامل للرد الذي أرسلته Google.
- في هذا، نقوم فقط بكتابة المحتوى المستلم في معلمة النص إلى ملف console.log. لذا، في الأساس، كل ما نحصل عليه بالذهاب إليه www.google.com سيتم كتابتها إلى console.log.
هنا هو رمز للرجوع اليها
var request = require("request"); request("http://www.google.com",function(error,response,body) { console.log(body); });
الملخص
- يمكن استخدام إطار عمل Node.js لتطوير خوادم الويب باستخدام الوحدة النمطية "http". يمكن جعل التطبيق يستمع على منفذ معين ويرسل ردًا إلى العميل كلما تم تقديم طلب إلى التطبيق.
- يمكن استخدام وحدة "الطلب" للحصول على معلومات من مواقع الويب. ستحتوي المعلومات على المحتوى الكامل لصفحة الويب المطلوبة من موقع الويب ذي الصلة.