วิธีสร้างเว็บเซิร์ฟเวอร์พื้นฐานโดยใช้ Go

วิธีสร้างเว็บเซิร์ฟเวอร์พื้นฐานโดยใช้ Go

Go เป็นภาษาโปรแกรมที่น่าสนใจสำหรับการสร้างเว็บแอปพลิเคชันสมัยใหม่รวมถึงซอฟต์แวร์ระบบมันสร้างความฮือฮาอย่างมากหลังจากการเปิดตัวและขับเคลื่อนบริการต่างๆ เช่น Docker, Kubernetes, Terraform, Dropbox และNetflix

นอกจากนี้ คอลเลกชันแพ็คเกจในตัวที่แข็งแกร่งของ Go ทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับการเขียนโปรแกรมเว็บ บทความนี้จะแสดงวิธีการเขียนเว็บเซิร์ฟเวอร์พื้นฐาน ใน Go

นำเข้าแพ็คเกจที่จำเป็น

แพ็คเกจ net/HTTP มอบทุกสิ่งที่จำเป็นในการสร้างเว็บเซิร์ฟเวอร์และไคลเอนต์ แพ็คเกจนี้นำเสนอฟังก์ชันที่มีประโยชน์ในการจัดการการเขียนโปรแกรมเว็บ

คุณสามารถนำเข้าได้โดยเพิ่มบรรทัดด้านล่างที่จุดเริ่มต้นของซอร์สโค้ดของคุณ:

import "net/http"

บทความนี้จะใช้ แพ็คเกจ fmtเพื่อจัดรูปแบบสตริงและ แพ็คเกจ บันทึกเพื่อจัดการกับข้อผิดพลาด คุณสามารถนำเข้าทีละรายการได้ตามที่แสดงด้านบน หรือนำเข้าแพ็คเกจทั้งหมดโดยใช้คำสั่งนำเข้าเดียว:

import (
"fmt"
"log"
"net/http"
)

คุณสามารถดำเนินการเขียนฟังก์ชันหลักได้หลังจากนำเข้าแพ็คเกจที่จำเป็นแล้ว ไปข้างหน้าและบันทึกไฟล์ต้นฉบับด้วย นามสกุล. goหากคุณใช้ Vim ให้ใช้คำสั่งด้านล่างเพื่อบันทึกและออกจาก Vim:

:wq server.go

เขียนฟังก์ชันหลัก

โปรแกรม Go อยู่ภายในฟังก์ชันหลักโดยตรง ซึ่งมีชื่อว่า "main" คุณจะต้องทำการ เรียกเซิร์ฟเวอร์ที่นี่ เพิ่มบรรทัดต่อไปนี้ลงในซอร์สโค้ดและดูว่ามันทำอะไร:

func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

ตัวอย่างคือการกำหนดฟังก์ชันหลักโดยใช้คีย์เวิร์ดfunc Go มีกฎที่เข้มงวดเกี่ยวกับตำแหน่งของเครื่องหมายปีกกาเปิด ดังนั้นตรวจสอบให้แน่ใจว่าเครื่องหมายปีกกาเริ่มต้นอยู่ในบรรทัดที่ถูกต้อง คำสั่งแรกใน main กำหนดว่าคำขอเว็บทั้งหมดไปยังรูทพาธ ( "/" ) จะได้รับการจัดการโดยดัชนี ซึ่งเป็นฟังก์ชันประเภทhttp.HandlerFunc

บรรทัดที่ สองเริ่มต้นเว็บเซิร์ฟเวอร์ผ่าน ฟังก์ชัน http.ListenAndServeโดยจะส่งสัญญาณให้เซิร์ฟเวอร์รับฟังคำขอ HTTP ขาเข้าบนพอร์ตของเซิร์ฟเวอร์ 8080 อย่างต่อเนื่อง จำเป็นต้องใช้พารามิเตอร์ตัวที่สองของฟังก์ชันนี้เพื่อบล็อกโปรแกรมจนจบ

เนื่องจากhttp.ListenAndServeส่งคืนข้อผิดพลาดเสมอ ตัวอย่างจึงล้อมการโทรนี้ไว้ภายในlog.Fatal callคำสั่งนี้จะบันทึกข้อความแสดงข้อผิดพลาดใดๆ ที่สร้างขึ้นบนฝั่งเซิร์ฟเวอร์

ใช้ฟังก์ชันการประมวลผล

อย่างที่คุณเห็น ฟังก์ชันหลักเรียกดัชนีฟังก์ชันตัวจัดการเพื่อจัดการคำขอของไคลเอ็นต์ อย่างไรก็ตาม ตัวอย่างยังไม่ได้กำหนดฟังก์ชันการทำงานนี้สำหรับเซิร์ฟเวอร์

มาเพิ่มคำสั่งที่จำเป็นเพื่อทำให้ฟังก์ชันดัชนีใช้งานได้:

func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}

ฟังก์ชันนี้รับอาร์กิวเมนต์ที่แตกต่างกันสองประเภทได้แก่http.ResponseWriterและhttp.Requestพารามิเตอร์http.ResponseWriterประกอบด้วยการตอบสนองของเซิร์ฟเวอร์ต่อคำขอที่เข้ามา ในรูปแบบของวัตถุhttp.Request

ฟังก์ชันFprintfจาก แพ็คเกจ fmtใช้เพื่อแสดงและจัดการสตริงข้อความ บทความนี้ใช้สิ่งนี้เพื่อแสดงการตอบสนองของเซิร์ฟเวอร์ต่อคำขอทางเว็บ สุดท้าย องค์ประกอบ r.URL.Path[1:]ใช้เพื่อดึงข้อมูลหลังจากเส้นทางราก

เพิ่มส่วนที่เหลือทั้งหมด

เว็บเซิร์ฟเวอร์ Go ของคุณจะพร้อมใช้งานเมื่อคุณเพิ่มส่วนประกอบที่เหลือทั้งหมดแล้ว รหัสจะมีลักษณะดังนี้:

import (
"fmt"
"log"
"net/http"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

จำเป็นต้องมีบรรทัดแรกเพื่อคอมไพล์โค้ดเว็บเซิร์ฟเวอร์ Go นี้เป็นไฟล์ปฏิบัติการ

วิธีสร้างเว็บเซิร์ฟเวอร์พื้นฐานโดยใช้ Go

คอมไพล์โค้ดเว็บเซิร์ฟเวอร์ Go นี้เป็นไฟล์ปฏิบัติการ


คำแนะนำจาก AZ เกี่ยวกับวิธีติดตั้ง Windows 10 บิวด์ 14393.222

คำแนะนำจาก AZ เกี่ยวกับวิธีติดตั้ง Windows 10 บิวด์ 14393.222

ล่าสุด Microsoft เปิดตัวการอัปเดตสะสมล่าสุดสำหรับผู้ใช้พีซี Windows 10 ที่เรียกว่า Build 14393.222 การอัปเดตนี้เผยแพร่สำหรับ Windows 10 โดยส่วนใหญ่จะแก้ไขจุดบกพร่องตามคำติชมของผู้ใช้ และปรับปรุงประสบการณ์ด้านประสิทธิภาพของระบบปฏิบัติการ

ปกป้องเครือข่ายคอมพิวเตอร์ของคุณด้วยโฮสต์ Bastion ในเวลาเพียง 3 ขั้นตอน

ปกป้องเครือข่ายคอมพิวเตอร์ของคุณด้วยโฮสต์ Bastion ในเวลาเพียง 3 ขั้นตอน

คุณมีคอมพิวเตอร์บนเครือข่ายท้องถิ่นที่ต้องการการเข้าถึงจากภายนอกหรือไม่? การใช้โฮสต์ป้อมปราการเป็นผู้ดูแลเครือข่ายของคุณอาจเป็นทางออกที่ดี

วิธีสร้างคีย์ Windows หากไม่มีแป้นพิมพ์ของคุณ

วิธีสร้างคีย์ Windows หากไม่มีแป้นพิมพ์ของคุณ

หากคุณต้องการใช้แป้นพิมพ์คลาสสิกรุ่นเก่า เช่น IBM Model M ที่ไม่มีคีย์ Windows มาให้ มีวิธีง่ายๆ ในการเพิ่มคีย์เพิ่มเติมโดยการยืมคีย์ที่คุณไม่ได้ใช้บ่อย

3 วิธีในการล้างบันทึกเหตุการณ์ทั้งหมดใน Windows 10 อย่างรวดเร็ว

3 วิธีในการล้างบันทึกเหตุการณ์ทั้งหมดใน Windows 10 อย่างรวดเร็ว

บางครั้งคุณอาจต้องลบบันทึกเหตุการณ์เก่าทั้งหมดพร้อมกัน ในคู่มือนี้ Quantrimang.com จะแสดง 3 วิธีในการลบบันทึกเหตุการณ์ทั้งหมดใน Windows 10 Event Viewer อย่างรวดเร็ว

วิธี IP ปลอมช่วยให้คุณเข้าถึงโดยไม่ระบุชื่อ

วิธี IP ปลอมช่วยให้คุณเข้าถึงโดยไม่ระบุชื่อ

ในบทความก่อนหน้านี้หลายบทความ เราได้กล่าวไว้ว่าการไม่เปิดเผยตัวตนทางออนไลน์เป็นสิ่งสำคัญอย่างยิ่ง ข้อมูลส่วนตัวรั่วไหลทุกปี ทำให้การรักษาความปลอดภัยออนไลน์มีความจำเป็นมากขึ้น นั่นคือเหตุผลที่เราควรใช้ที่อยู่ IP เสมือน ด้านล่างนี้เราจะเรียนรู้เกี่ยวกับวิธีการสร้าง IP ปลอม!

วิธีสร้างโหมดพื้นหลังโปร่งใสบน Windows 10

วิธีสร้างโหมดพื้นหลังโปร่งใสบน Windows 10

WindowTop เป็นเครื่องมือที่มีความสามารถในการหรี่หน้าต่างแอปพลิเคชันและโปรแกรมทั้งหมดที่ทำงานบนคอมพิวเตอร์ Windows 10 หรือคุณสามารถใช้อินเทอร์เฟซพื้นหลังสีเข้มบน windows ได้

วิธีปิดแถบภาษาบนทาสก์บาร์ของ Windows 8

วิธีปิดแถบภาษาบนทาสก์บาร์ของ Windows 8

แถบภาษาบน Windows 8 เป็นแถบเครื่องมือภาษาขนาดเล็กที่ออกแบบมาเพื่อแสดงบนหน้าจอเดสก์ท็อปโดยอัตโนมัติ อย่างไรก็ตาม หลายๆ คนต้องการซ่อนแถบภาษานี้บนทาสก์บาร์

วิธีการตั้งค่า WEP, WPA, WPA2 สำหรับเราเตอร์ Linksys

วิธีการตั้งค่า WEP, WPA, WPA2 สำหรับเราเตอร์ Linksys

การเชื่อมต่อไร้สายถือเป็นสิ่งจำเป็นในปัจจุบัน และด้วยเหตุนี้ การรักษาความปลอดภัยแบบไร้สายจึงถือเป็นสิ่งสำคัญในการรับรองความปลอดภัยในเครือข่ายภายในของคุณ

เคล็ดลับในการปรับความเร็วการเชื่อมต่ออินเทอร์เน็ตจาก Linksys ให้เหมาะสม

เคล็ดลับในการปรับความเร็วการเชื่อมต่ออินเทอร์เน็ตจาก Linksys ให้เหมาะสม

การเพิ่มความเร็วอินเทอร์เน็ตให้สูงสุดถือเป็นสิ่งสำคัญในการเพิ่มประสิทธิภาพการเชื่อมต่อเครือข่ายของคุณ คุณสามารถมีความบันเทิงและประสบการณ์การทำงานที่ดีที่สุดโดยใช้คอมพิวเตอร์ ทีวีที่เชื่อมต่ออินเทอร์เน็ต เครื่องเล่นเกม ฯลฯ

เคล็ดลับในการแสดงการแจ้งเตือนบนหน้าจอเข้าสู่ระบบ Windows 10

เคล็ดลับในการแสดงการแจ้งเตือนบนหน้าจอเข้าสู่ระบบ Windows 10

หากคุณกำลังแชร์คอมพิวเตอร์กับเพื่อนหรือสมาชิกในครอบครัว หรือจัดการคอมพิวเตอร์หลายเครื่องโดยเฉพาะ คุณอาจเผชิญกับสถานการณ์ที่ไม่พึงประสงค์ซึ่งคุณต้องการเตือนพวกเขาด้วยบันทึกย่อก่อนที่พวกเขาจะเข้าสู่ระบบคอมพิวเตอร์ต่อไป