Rumah  >  Artikel  >  pembangunan bahagian belakang  >  golang mengendalikan permintaan http

golang mengendalikan permintaan http

WBOY
WBOYasal
2023-05-10 17:00:37713semak imbas

1. Kata Pengantar

Golang ialah bahasa pengaturcaraan yang semakin popular Berbanding dengan bahasa lain, ia mempunyai kelajuan penyusunan yang lebih pantas, keupayaan pemprosesan serentak yang cekap dan kurang penggunaan memori. Dalam pengaturcaraan rangkaian, perpustakaan standard bahasa Go menyediakan fungsi terbina dalam untuk mengendalikan permintaan HTTP, menjadikan pengendalian permintaan rangkaian sangat mudah.

Artikel ini akan memperkenalkan asas Golang mengendalikan permintaan HTTP dan menunjukkan cara menggunakan Golang untuk menulis pelayan HTTP mudah untuk mengendalikan permintaan HTTP.

2. Pengetahuan asas

Di Golang, kaedah berkaitan untuk memproses permintaan HTTP disimpan dalam pakej http. Untuk memulakan pelayan HTTP, kami boleh menggunakan fungsi http.ListenAndServe().

Fungsi ini menerima dua parameter:

func ListenAndServe(addr string, handler Handler) error

Addr parameter pertama ialah alamat yang dipantau oleh pelayan. Alamat ini hendaklah jenis rentetan, seperti ":8080". Jika alamat ditetapkan kepada rentetan kosong, pelayan akan mendengar pada semua antara muka rangkaian yang tersedia.

Pengendali parameter kedua ialah objek yang melaksanakan antara muka http.Handler Objek ini akan digunakan untuk mengendalikan permintaan HTTP. Cara paling mudah untuk melaksanakan antara muka ini ialah mencipta struktur yang mengandungi kaedah ServeHTTP.

Kaedah ServeHTTP() menerima dua parameter: objek ResponseWriter, digunakan untuk menulis respons HTTP dan penunjuk ke objek Request, digunakan untuk memproses permintaan HTTP.

type Handler interface {
    ServeHTTP(ResponseWriter, *Request)
}

Untuk keperluan paling asas menggunakan pakej http untuk mengendalikan permintaan HTTP, antara muka ini mesti dilaksanakan. Dalam contoh berikut, kami akan menunjukkan cara menulis pelayan HTTP yang paling mudah.

3. Contoh

Berikut ialah contoh kod untuk pelayan HTTP mudah:

package main

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

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprint(w, "Hello, World!")
    })

    log.Fatal(http.ListenAndServe(":8080", nil))
}

Dalam atur cara ini, kami memanggil kaedah http.HandleFunc() untuk menukar a fungsi Daftar ke dalam pengendali untuk permintaan HTTP ke laluan tertentu. Dua parameter fungsi ini mewakili objek respons HTTP dan objek permintaan. Dalam fungsi ini, kami menggunakan kaedah fmt.Fprint() untuk menulis respons HTTP pada objek ResponseWriter.

Akhir sekali, kami menggunakan kaedah http.ListenAndServe() untuk memulakan pelayan HTTP. Fungsi ini akan berjalan sehingga isyarat SIGTERM atau SIGINT diterima, atau ralat berlaku semasa melaksanakan ListenAndServe().

Pelayan HTTP mudah ini boleh dijalankan menggunakan arahan berikut:

go run main.go

Seterusnya, kita boleh memasukkan alamat "http://localhost:8080" dalam pelayar untuk menguji pelayan HTTP kami.

Salah satu kelebihan terbesar menggunakan Golang untuk perkhidmatan HTTP ialah keupayaan pemprosesan serentak yang sangat baik. Dalam contoh di atas, kami menggunakan goroutine untuk mengendalikan permintaan. Apabila permintaan datang, goroutine memanggil fungsi yang kami daftarkan dalam kaedah http.HandleFunc() untuk mengendalikan permintaan tanpa menunggu permintaan sebelumnya selesai. Ini membolehkan pelayan HTTP kami mengendalikan sejumlah besar permintaan serentak.

4. Kesimpulan

Dengan membaca artikel ini, anda sepatutnya sudah tahu cara mengendalikan permintaan HTTP di Golang, dan cara menggunakan pakej http terbina dalam untuk menulis pelayan HTTP yang mudah.

Pada masa ini, Golang semakin popular di kalangan pengaturcara sebagai bahasa yang cepat, cekap, mudah ditulis dan mudah dikekalkan. Pada masa hadapan, ia pasti akan menjadi pilihan ideal untuk pembangunan pengaturcaraan rangkaian dan beberapa aplikasi beban tinggi yang lain.

Atas ialah kandungan terperinci golang mengendalikan permintaan http. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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