ตามที่อธิบายไว้ในสารานุกรม Baidu:
Hyper Text Transfer Protocol (HTTP) เป็นโปรโตคอลตอบสนองคำขอแบบง่ายๆ ที่มักจะทำงานบน TCP โดยจะระบุประเภทของข้อความที่ไคลเอนต์อาจส่งไปยังเซิร์ฟเวอร์ และประเภทของการตอบกลับที่ได้รับ ส่วนหัวของข้อความร้องขอและตอบกลับจะได้รับในรูปแบบ ASCII; [9] เนื้อหาข้อความมีรูปแบบคล้าย MIME โมเดลที่เรียบง่ายนี้รับผิดชอบต่อความสำเร็จในช่วงแรกๆ ของเว็บ เนื่องจากทำให้การพัฒนาและการปรับใช้ตรงไปตรงมามาก
หากคุณได้เรียนรู้พื้นฐานของ JavaSE แล้ว คุณควรจะคุ้นเคยกับการเขียนโปรแกรมเครือข่าย
แล้ว ไม่เป็นไร ถ้าคุณไม่ได้เรียนรู้ โปรดฟังผู้เขียนที่มีมโนธรรมแล้วให้ฉันบอกคุณว่า:
1.1.
วันนี้ในปี 2022 คอมพิวเตอร์ เครือข่ายกลายเป็นกิจวัตรประจำวันของผู้คน ไม่ว่าจะเป็นอีเมล การส่งข้อความโต้ตอบแบบทันทีกับเพื่อนๆ วิดีโอความบันเทิงสั้นๆ... เรียกได้ว่าเราสามารถเชื่อมต่อคอมพิวเตอร์หลายเครื่องผ่านเครือข่ายคอมพิวเตอร์ได้
เครือข่ายคอมพิวเตอร์เชื่อมต่ออุปกรณ์คอมพิวเตอร์หลายเครื่องภายใต้เครือข่ายผ่านสื่อการส่งข้อมูล สิ่งอำนวยความสะดวกด้านการสื่อสาร และโปรโตคอลการสื่อสารเครือข่าย ทำให้เกิดการแบ่งปันทรัพยากรและการส่งข้อมูล
อย่างไรก็ตาม เมื่อคอมพิวเตอร์บนเครือข่ายเดียวกันเชื่อมต่อและสื่อสาร พวกเขาจะต้องปฏิบัติตามกฎบางอย่าง ในเครือข่ายคอมพิวเตอร์ กฎสำหรับการเชื่อมต่อและการสื่อสารเหล่านี้เรียกว่าโปรโตคอลการสื่อสารเครือข่าย:
โปรโตคอล http ที่เรากำลังพูดถึงที่นี่มีการใช้งานโดยใช้ TCP สถานการณ์สมมติแอปพลิเคชัน http ทั่วไปคือคุณป้อนสตริงที่อยู่ในเบราว์เซอร์แล้วส่งคืนหน้าเว็บ
1.2. ที่อยู่ IP และหมายเลขพอร์ต
เพื่อให้คอมพิวเตอร์ในเครือข่ายสามารถสื่อสารได้ คอมพิวเตอร์แต่ละเครื่องจะต้องได้รับหมายเลขประจำตัว ซึ่งสามารถใช้เพื่อระบุคอมพิวเตอร์ที่รับข้อมูลหรือคอมพิวเตอร์ที่ส่งข้อมูล
ตรวจสอบที่อยู่ IP ของคอมพิวเตอร์ของคุณบน LAN กด WIN+R บนคอมพิวเตอร์ Windows และป้อน cmd เพื่อเข้าสู่คอนโซล
ipconfigอย่างรวดเร็ว
คุณสามารถเชื่อมต่อกับคอมพิวเตอร์ที่ระบุผ่านที่อยู่ IP ได้ แต่หากคุณต้องการเข้าถึงแอปพลิเคชันใดแอปพลิเคชันหนึ่งของคุณบนคอมพิวเตอร์เป้าหมาย คุณจะต้องระบุหมายเลขพอร์ตด้วย
ตัวอย่างเช่น MySQL's 3306, TomCat's 8080
Node.js จัดให้มีโมดูล http ส่วนใหญ่จะใช้เพื่อสร้างเซิร์ฟเวอร์ HTTP และไคลเอนต์ หากต้องการใช้ฟังก์ชันเซิร์ฟเวอร์ HTTP หรือไคลเอนต์ คุณต้องเรียกโมดูล http
2.1, การสะสมแบบหนา (การแนะนำโดยละเอียด, การแนะนำวิธีวัตถุโดยละเอียด, กระบวนการสร้างบริการ http ทั้งหมด)
การแนะนำกระบวนการ:
ขั้นแรกให้ใช้วิธี createServer() เพื่อลงทะเบียนวัตถุเซิร์ฟเวอร์
จากนั้นใช้วัตถุเซิร์ฟเวอร์นี้เพื่อเรียก on( ) เพื่อตรวจสอบและประมวลผลเหตุการณ์
เรียกใช้เมธอด Listen() เพื่อผูกหมายเลขพอร์ต
เพื่อเริ่มต้น:
แอปพลิเคชันบริการเครือข่ายใดๆ จะสร้างวัตถุบริการก่อนเสมอ ใน nodeJS เราสามารถใช้เมธอด createServer เพื่อให้บรรลุเป้าหมายนี้
// ขั้นแรกให้นำเข้าโมดูล http const http = need('http'); //สร้างวัตถุบริการ http const server = http.createServer();
วัตถุเซิร์ฟเวอร์ที่ส่งคืนโดยตัวสร้าง createServer เป็นตัวปล่อยเหตุการณ์ ในที่นี้ วัตถุเซิร์ฟเวอร์ที่สร้างขึ้นจะถูกนำมาใช้ในการประมวลผลโดยใช้วิธีการ on() ของตัวเอง กำลังประมวลผล. ด้วยวิธีนี้ เมื่อใดก็ตามที่มีการส่งคำขอ http เราก็จะสามารถดำเนินการได้
// ขั้นแรกให้นำเข้าโมดูล http const http = need('http'); //สร้างวัตถุบริการ http const server = http.createServer(); // ผูกเซิร์ฟเวอร์การฟังเหตุการณ์บน ('คำขอ', (คำขอ, การตอบสนอง) => { //เชื่อเสมอว่าสิ่งดีๆกำลังจะเกิดขึ้น! });
เราแนะนำ (ที่อยู่ IP + พอร์ต) ก่อนหน้านี้ เมื่อคอมพิวเตอร์ของเราเชื่อมต่อกับอินเทอร์เน็ตเราเตอร์จะกำหนดที่อยู่ IP ให้เราโดยอัตโนมัติผ่าน DHCP แต่หากเราต้องการเข้าถึงโปรแกรมที่ระบุบนคอมพิวเตอร์เราจะต้อง มีหมายเลขพอร์ตด้วย
ในการเข้าถึงโปรแกรมที่ระบุบนคอมพิวเตอร์ เราจำเป็นต้องใช้เมธอด Listen() ด้วย คุณเพียงแค่ต้องใช้ server.listen() เพื่อส่งหมายเลขพอร์ตเป็นพารามิเตอร์ไปยังวิธีการฟังเป็นพอร์ตการฟัง
// ขั้นแรกให้นำเข้าโมดูล http const http = need('http'); //สร้างวัตถุบริการ http const server = http.createServer(); // ผูกเซิร์ฟเวอร์การฟังเหตุการณ์บน ('คำขอ', (req, res) => { // เนื้อหาของฟังก์ชันนี้เป็นเพียงการเรียกพารามิเตอร์ res เพียงเล็กน้อยเพื่อให้โปรแกรมทำงานได้เข้าใจมากขึ้น // เขียนส่วนหัวการตอบกลับ (เบราว์เซอร์จะไม่รู้จักหากคุณไม่ได้เขียน) res.writeHead(200,{'Content-Type':'text/html;charset=UTF8'}); //ส่งข้อมูลตอบกลับ res.end("<h1>ยินดีต้อนรับสู่การใช้ node.js เพื่อสร้างบริการ</h1>"); - //ผูกหมายเลขพอร์ต server.listen(8888); //คอนโซลพิมพ์ที่อยู่เพื่ออำนวยความสะดวกในการดีบักอย่างรวดเร็ว console.log('บริการ http ของคุณเริ่มต้นที่ http://127.0.0.1:8888/')
;
การสาธิตโค้ดข้างต้นมีรายละเอียดมาก แต่ในการพัฒนาจริงไม่แนะนำให้เขียนทีละขั้นตอน
ต่อไปให้ติดตามผู้เขียนและให้เราดำเนินการเพิ่มประสิทธิภาพโค้ดต่อไปเพื่อให้มีประสิทธิภาพและกระชับยิ่งขึ้น
2.2 ผมบาง (ความเรียบง่ายคือราชา) สง่างามมาก! )
กระบวนการลงทะเบียนวัตถุทีละขั้นตอนยุ่งยากเกินไป ที่นี่เราใช้วิธีขนาดเล็กและสวยงามในการใช้อินเทอร์เฟซ http:
const http = need('http' ); เซิร์ฟเวอร์ const = http.createServer (ฟังก์ชั่น (req, res) { //เชื่อเสมอว่าสิ่งดีๆ กำลังจะเกิดขึ้น}).listen(8080);
เมื่อใดก็ตามที่คำขอ HTTP ไปถึงเซิร์ฟเวอร์ ฟังก์ชันที่ส่งผ่านใน createServer จะถูกดำเนินการโดยอัตโนมัติ ดังนั้นฟังก์ชันนี้จึงเรียกว่าฟังก์ชันการประมวลผลคำขอ เราสามารถส่งผ่านฟังก์ชันการติดต่อกลับเพื่อฟังเหตุการณ์ได้โดยตรง จากนั้นคลิกเมธอด Listen() เพื่อผูกหมายเลขพอร์ตโดยตรง
แต่นี่ยังดีไม่พอ ใช่ ปรับปรุงฟังก์ชันการโทรกลับด้านบนด้วยฟังก์ชันลูกศรให้สวยงามยิ่งขึ้นได้
const http = ต้องการ ('http'); เซิร์ฟเวอร์ const = http.createServer((req,res) => { //เชื่อเสมอว่าสิ่งดีๆ กำลังจะเกิดขึ้น}).listen(8080);
แน่นอนว่า
มัน
ยังดีไม่พอ
มันจะดีกว่านี้!
createServer() โดยตรงแก้ปัญหาทุกอย่าง:
var http = need('http') // สร้างเซิร์ฟเวอร์ http.createServer( (req, res) =>{ //เชื่อเสมอว่าสิ่งดีๆกำลังจะถูกส่ง}).listen(8888);
เมื่อเห็นสิ่งนี้ ขอแสดงความยินดีกับการเริ่มต้นใช้งานโมดูล http ของ nodeJS ในขณะนี้ คุณได้เรียนรู้ทักษะต่อไปนี้แล้ว:
โปรดติดตามผู้เขียนต่อไป ต่อไปเราจะเรียนรู้เกี่ยว