Golang ialah bahasa pengaturcaraan yang agak muda, dan aplikasinya dalam bidang pembangunan web semakin meluas. Dalam artikel ini, kami akan memperkenalkan cara untuk melaksanakan pelayan HTTP mudah menggunakan Golang dan menunjukkan penggunaan asasnya melalui contoh.
HTTP ialah bahagian penting dalam proses pembangunan web. Ia adalah protokol berdasarkan komunikasi klien-pelayan dan digunakan untuk menghantar data antara klien dan pelayan. Fungsi utama yang disediakan oleh pelayan web adalah untuk menerima permintaan pelanggan dan bertindak balas kepada permintaan, yang akan diterangkan oleh artikel ini.
Golang secara asalnya menyediakan keupayaan untuk melaksanakan pelayan HTTP menggunakan pakej http
, yang menyediakan jenis http
dalam pakej ServeMux
untuk melaksanakan mekanisme penghalaan HTTP. Melalui mekanisme penghalaan, kami boleh melaksanakan fungsi pemprosesan yang berbeza mengikut URL permintaan yang berbeza Artikel ini akan menerangkan cara menggunakannya secara terperinci.
Langkah 1: Import pakej yang diperlukan
Di Golang, kita perlu mengimport pakej yang diperlukan untuk menggunakan fungsinya. Apabila melaksanakan pelayan HTTP, kita perlu mengimport pakej http
dan net/http
. Pakej HTTP mengandungi kandungan yang berkaitan dengan protokol HTTP, manakala pakej net/http
mengandungi kandungan yang berkaitan dengan pelayan HTTP. Kodnya adalah seperti berikut:
package main import ( "fmt" "net/http" )
Langkah 2: Laksanakan fungsi pemprosesan HTTP
Pelayan HTTP perlu melaksanakan satu atau lebih fungsi pemprosesan untuk menerima permintaan pelanggan dan memberikan respons. Fungsi pemprosesan ialah fungsi jenis :func(http.ResponseWriter, *http.Request)
(penunjuk fungsi digunakan di sini), yang mengandungi dua parameter: http.ResponseWriter
dan *http.Request
. Yang pertama ialah antara muka untuk menulis semula kandungan tindak balas, manakala yang kedua ialah struktur yang mengandungi maklumat permintaan pelanggan. Dalam fungsi pemprosesan, kita perlu menjana respons berdasarkan maklumat permintaan dan menggunakan http.ResponseWriter
untuk menulis semula kandungan respons kepada klien. Berikut ialah fungsi pemprosesan mudah, yang digunakan untuk mengendalikan permintaan pelanggan untuk http://localhost:8080/hello-world
:
func Hello(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "Hello World!") }
Langkah 3: Laksanakan penghala HTTP
Melaksanakan pelayan HTTP memerlukan penggunaan penghala. Di Golang, penghala HTTP boleh dibuat menggunakan jenis http
daripada pakej ServeMux
. Penghala akan memetakan URL permintaan klien kepada fungsi pemprosesan yang sepadan. Dalam contoh ini, kami mentakrifkan fungsi pemprosesan bernama Hello
untuk membalas permintaan pelanggan untuk http://localhost:8080/hello-world
, maka kami perlu mendaftarkan fungsi ini dalam penghala ServeMux
. Kodnya adalah seperti berikut:
func main() { mux := http.NewServeMux() mux.HandleFunc("/hello-world", Hello) http.ListenAndServe(":8080", mux) }
Dalam contoh ini, kita mula-mula mencipta tika ServeMux
dan menetapkannya kepada mux
. Seterusnya, kami menggunakan mux.HandleFunc
untuk mendaftarkan fungsi pengendali. Fungsi ini menerima dua parameter, parameter pertama ialah laluan URL, dan parameter kedua ialah fungsi pemprosesan. Ia memetakan laluan URL ke fungsi pengendali supaya fungsi pengendali yang sepadan boleh dipanggil apabila permintaan sampai ke penghala.
Akhir sekali, dalam pakej http
, fungsi bernama ListenAndServe
disediakan, yang akan memulakan pelayan HTTP pada alamat yang ditentukan. Dalam contoh ini, kami menggunakan :8080
sebagai alamat mendengar. Kodnya adalah seperti berikut:
http.ListenAndServe(":8080", mux)
Langkah 4: Lengkapkan kod
package main import ( "fmt" "net/http" ) func main() { mux := http.NewServeMux() mux.HandleFunc("/hello-world", Hello) http.ListenAndServe(":8080", mux) } func Hello(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "Hello World!") }
Menjalankan kod ini akan memulakan pelayan HTTP secara setempat. Masukkan http://localhost:8080/hello-world
dalam penyemak imbas untuk melihat hasil Respons .
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pelayan http di golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!