# การใช้งาน Web Server รอรับ HTTP Request ด้วย JavaScript อย่างเข้าใจง่าย
ในยุคที่โลกออนไลน์กำลังเฟื่องฟู การเข้าใจในเรื่องของ web server และการรอรับ HTTP request เป็นเรื่องสำคัญมากสำหรับนักพัฒนาเว็บ ไม่ว่าจะเป็นการสร้างเว็บไซต์เพื่อหารายได้, การพัฒนาระบบสารสนเทศในองค์กร, หรือแม้แต่การทำเว็บส่วนตัวเพื่อสนองความสนใจส่วนตัว ในบทความนี้ เราไปรับชมกันดีกว่าว่า JavaScript เป็นภาษาที่ไม่เพียงแต่ใช้งานได้ดีในการพัฒนาหน้าเว็บ (Front-end) แต่ยังสามารถสร้าง web server รอรับ HTTP request ได้โดยใช้ Node.js ซึ่งเป็น Runtime Environment ที่ทำให้ JavaScript สามารถทำงานได้นอกเหนือจากเบราว์เซอร์
ในตัวอย่างข้างต้น เราเริ่มด้วยการโหลดโมดูล `http` ที่มาพร้อมกับ Node.js ส่วนการสร้าง server นั้นทำผ่านฟังก์ชัน `http.createServer()` ที่รับ callback function ซึ่งจะถูกเรียกใช้เมื่อมี HTTP request เข้ามา เราตั้งค่าสถานะการตอบกลับ (response) เป็น 200 ซึ่งหมายถึง 'OK' และกำหนดให้ Content-Type เป็น 'text/plain' ก่อนส่งคำตอบ 'Hello, World!' กลับไปยัง client ท้ายที่สุด server จะเริ่มทำงานที่ port และ hostname ที่กำหนด
โดยใช้โมดูล `url` เพื่อวิเคราะห์ URL ที่ร้องขอเข้ามา เราจึงสามารถเขียนโค้ดเพื่อจัดการกับเส้นทาง URL ต่างๆ (รู้จักกันในชื่อ "Routing") นอกจากนี้ เรายังกำหนดสถานะการตอบกลับที่เหมาะสม และเนื้อหาของหน้าเว็บตามเส้นทางที่ถูกร้องขอ
Express เป็น framework ที่ทำงานบน Node.js ที่ช่วยให้การจัดการกับ HTTP request และเส้นทาง URL ง่ายขึ้นมาก โดยให้เราสร้าง router ด้วยวิธีการที่ชาญฉลาดและอ่านง่ายด้วยการใช้ method ต่างๆ (เช่น `get`, `post`, `put`, `delete`) และ middleware ที่เชื่อมต่อกับจุดต่างๆ ของการจัดการคำขอ
Usecase ในโลกจริง
ในสถานการณ์จริง เราอาจใช้ web server ในการสร้างระบบพอร์ทัลข้อมูลสำหรับนักเรียนที่สามารถเข้าถึงตารางเรียน, ข่าวสารและข้อมูลล่าสุด, หรือแม้แต่ส่งการบ้านออนไลน์ เว็บ server ที่สร้างขึ้นสามารถรอรับคำขอจากนักเรียนและครูผ่านระบบล็อกอินที่มั่นคง และนำเสนอข้อมูลที่ถูกต้องตามบทบาทและสิทธิ์การเข้าถึงของแต่ละบุคคล
หากคุณมีความสนใจเพิ่มเติมในการพัฒนา web server หรือต้องการเรียนรู้ในด้านการเขียนโปรแกรมด้วย JavaScript อย่าลืมว่าที่ Expert-Programming-Tutor (EPT) เรามีหลักสูตรที่จะช่วยให้คุณไปถึงเป้าหมายได้ด้วยตัวคุณเอง ติดต่อเราได้เลยนะครับ/ค่ะ และพร้อมก้าวเข้าสู่โลกแห่งตัวอักษรและโค้ดไปด้วยกัน!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM