สร้างเว็บเซิร์ฟเวอร์ HTTP ใน Node.js: บทช่วยสอนพร้อมตัวอย่างโค้ด

กรอบงาน Node.js ส่วนใหญ่ใช้เพื่อสร้างแอปพลิเคชันบนเซิร์ฟเวอร์ สามารถใช้เฟรมเวิร์กเพื่อสร้างเว็บเซิร์ฟเวอร์ที่สามารถให้บริการเนื้อหาแก่ผู้ใช้ได้อย่างง่ายดาย

มีโมดูลที่หลากหลาย เช่น โมดูล “http” และ “คำขอ” ซึ่งช่วยในการประมวลผลคำขอที่เกี่ยวข้องกับเซิร์ฟเวอร์ในพื้นที่เว็บเซิร์ฟเวอร์ เราจะมาดูว่าเราสามารถสร้างแอปพลิเคชันเว็บเซิร์ฟเวอร์พื้นฐานได้อย่างไร โหนด js.

โหนดเป็นเว็บเซิร์ฟเวอร์โดยใช้ HTTP

มาดูตัวอย่างวิธีสร้างและรันแอปพลิเคชัน Node js แรกของเรา

แอปพลิเคชันของเรากำลังจะสร้างโมดูลเซิร์ฟเวอร์อย่างง่ายซึ่งจะรับฟังบนพอร์ตหมายเลข 7000 หากมีการร้องขอผ่านเบราว์เซอร์บนพอร์ตนี้ แอปพลิเคชันเซิร์ฟเวอร์จะส่งการตอบกลับ 'Hello World' ไปยังไคลเอนต์

โหนดเป็นเว็บเซิร์ฟเวอร์โดยใช้ HTTP

คำอธิบายรหัส

  1. ฟังก์ชันพื้นฐานของฟังก์ชัน need คืออ่านค่า a Javaต้นฉบับ ดำเนินการไฟล์ จากนั้นดำเนินการส่งคืนอ็อบเจ็กต์เอ็กซ์พอร์ต ดังนั้นในกรณีของเรา เนื่องจากเราต้องการใช้ฟังก์ชันการทำงานของโมดูล http เราจึงใช้ฟังก์ชัน need เพื่อรับฟังก์ชันที่ต้องการจากโมดูล http เพื่อให้สามารถใช้ในแอปพลิเคชันของเราได้
  2. ในโค้ดบรรทัดนี้ เรากำลังสร้างแอปพลิเคชันเซิร์ฟเวอร์ซึ่งใช้ฟังก์ชันง่ายๆ ฟังก์ชันนี้จะถูกเรียกเมื่อใดก็ตามที่มีการร้องขอไปยังแอปพลิเคชันเซิร์ฟเวอร์ของเรา
  3. เมื่อได้รับคำขอ เรากำลังบอกว่าให้ส่งการตอบกลับด้วยประเภทส่วนหัวเป็น '200' หมายเลขนี้เป็นการตอบกลับปกติซึ่งจะถูกส่งในส่วนหัว http เมื่อมีการส่งการตอบกลับที่สำเร็จไปยังไคลเอนต์
  4. ในการตอบกลับ เรากำลังส่งสตริง 'Hello World'
  5. จากนั้นเราจะใช้ฟังก์ชัน server.listen เพื่อให้แอปพลิเคชันเซิร์ฟเวอร์ของเรารับฟังคำขอของลูกค้าบนพอร์ตหมายเลข 7000 คุณสามารถระบุพอร์ตใดๆ ที่มีอยู่ได้ที่นี่

หากดำเนินการคำสั่งสำเร็จ ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นเมื่อคุณรันโค้ดในเบราว์เซอร์

เอาท์พุต

โหนดเป็นเว็บเซิร์ฟเวอร์โดยใช้ HTTP

จากผลลัพธ์ที่ได้

  • คุณจะเห็นได้ชัดว่าถ้าเราเรียกดู 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

คำสั่งข้างต้นร้องขอให้ตัวจัดการแพ็คเกจโหนดดาวน์โหลดโมดูลคำขอที่จำเป็นและติดตั้งตามนั้น

เมื่อติดตั้งโมดูล npm ของคุณสำเร็จแล้ว บรรทัดคำสั่งจะแสดงชื่อโมดูลและเวอร์ชันที่ติดตั้ง: - -

การจัดการคำขอ GET

ในภาพรวมด้านบน คุณจะเห็นว่าดาวน์โหลดและติดตั้งโมดูล 'คำขอ' พร้อมด้วยหมายเลขเวอร์ชัน 2.67.0 แล้ว

ทีนี้มาดูโค้ดที่สามารถใช้คำสั่ง 'request' นี้ได้

การจัดการคำขอ GET

คำอธิบายรหัส

  1. เรากำลังใช้โมดูล 'คำขอ' ซึ่งได้รับการติดตั้งในขั้นตอนสุดท้าย โมดูลนี้มีฟังก์ชันที่จำเป็นซึ่งสามารถใช้เพื่อส่งคำขอ GET ไปยังเว็บไซต์ได้
  2. เรากำลังสร้างคำขอ GET ไปยัง www.google.com และเรียกใช้ฟังก์ชันเมื่อได้รับการตอบสนอง เมื่อได้รับการตอบสนอง พารามิเตอร์ (ข้อผิดพลาด การตอบสนอง และเนื้อหา) จะมีค่าดังต่อไปนี้
    1. ข้อผิดพลาด – ในกรณีที่ได้รับข้อผิดพลาดเมื่อใช้คำขอ GET จะถูกบันทึกไว้ที่นี่
    2. การตอบกลับ- การตอบกลับจะมีส่วนหัว http ซึ่งจะถูกส่งกลับไปในการตอบกลับ
    3. เนื้อความ- เนื้อความจะมีเนื้อหาทั้งหมดของการตอบกลับที่ส่งโดย Google
  3. ในที่นี้ เราเพียงเขียนเนื้อหาที่ได้รับในพารามิเตอร์ body ลงในไฟล์ 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' แอปพลิเคชันสามารถสร้างให้ฟังบนพอร์ตเฉพาะและส่งการตอบกลับไปยังไคลเอนต์ทุกครั้งที่มีการร้องขอไปยังแอปพลิเคชัน
  • โมดูล 'คำขอ' สามารถใช้เพื่อรับข้อมูลจากเว็บไซต์ ข้อมูลจะประกอบด้วยเนื้อหาทั้งหมดของหน้าเว็บที่ร้องขอจากเว็บไซต์ที่เกี่ยวข้อง