Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menetapkan Pengepala HTTP dalam Pelayan Web Go menggunakan gorila/mux?

Bagaimana untuk Menetapkan Pengepala HTTP dalam Pelayan Web Go menggunakan gorila/mux?

DDD
DDDasal
2024-12-23 02:05:08868semak imbas

How to Set HTTP Headers in a Go Web Server using gorilla/mux?

Menetapkan Pengepala HTTP dalam Pelayan Web Go

Apabila membangunkan pelayan web menggunakan Go, selalunya perlu menetapkan pengepala HTTP sebagai tindak balas kepada permintaan pelanggan. Ini membolehkan anda mengawal tingkah laku penyemak imbas dan memberikan maklumat penting tentang pelayan dan sumbernya.

Untuk menetapkan pengepala HTTP dalam pelayan web Go menggunakan gorilla/mux dan net/http, anda boleh menggunakan kaedah Set() daripada fungsi Header(). Berikut ialah contoh cara untuk menetapkan pengepala Access-Control-Allow-Origin kepada "*":

func saveHandler(w http.ResponseWriter, r *http.Request) {
    // allow cross domain AJAX requests
    w.Header().Set("Access-Control-Allow-Origin", "*")
}

Dengan menambahkan baris di atas pada fungsi pengendali anda, anda mengarahkan pelayan untuk bertindak balas terhadap asal silang permintaan daripada mana-mana asal dengan pengepala Access-Control-Allow-Origin ditetapkan kepada "*". Ini membolehkan panggilan AJAX merentas domain tanpa disekat oleh dasar asal yang sama.

Untuk menjadikan pengepala ini tersedia untuk semua laluan anda, anda boleh menggunakan fungsi Use() gorilla/mux untuk menambah perisian tengah pada penghala anda :

func main() {
    r := mux.NewRouter()
    r.Use(mux.CORSMethodMiddleware(r))
    r.HandleFunc("/save", saveHandler)
    http.Handle("/", r)
    http.ListenAndServe(":"+port, nil)
}

Perisian tengah ini secara automatik akan menambah pengepala Access-Control-Allow-Origin pada semua respons, tanpa mengira laluan.

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Pengepala HTTP dalam Pelayan Web Go menggunakan gorila/mux?. 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