Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk melaksanakan pelayan http di golang

Bagaimana untuk melaksanakan pelayan http di golang

PHPz
Lepaskan: 2023-04-26 14:47:43
asal
1523 orang telah melayarinya

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"
)
Salin selepas log masuk

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!")
}
Salin selepas log masuk

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)
}
Salin selepas log masuk

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)
Salin selepas log masuk

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!")
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan