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

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

Linda Hamilton
Linda Hamiltonasal
2024-12-21 13:16:10293semak imbas

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

Menetapkan Pengepala dalam Pelayan HTTP Go

Apabila membangunkan API web, selalunya perlu menetapkan pengepala HTTP pada objek tindak balas untuk mengawal tingkah laku daripada pelayar. Dalam Go, menggunakan gorilla/mux dan net/http untuk membina pelayan web, menetapkan pengepala respons adalah proses yang mudah.

Pertimbangkan contoh ini, yang bertujuan untuk membenarkan permintaan AJAX merentas domain dengan menetapkan "Akses- Pengepala Control-Allow-Origin" kepada "*":

package main

import (
    "net/http"
    "github.com/gorilla/mux"
)

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

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

Kunci untuk menetapkan pengepala respons ialah kaedah Header() pada objek ResponseWriter:

  • w.Header().Set(): Menetapkan pengepala kepada nilai yang ditentukan.

Dalam kes ini, kod menggunakan w.Header().Set("Access-Control-Allow-Origin", "*") untuk menambah pengepala yang dikehendaki dan nilai. Hasilnya ialah respons HTTP dengan pengepala "Access-Control-Allow-Origin" ditetapkan kepada "*".

Kaedah mudah ini membolehkan anda mengawal pengepala HTTP yang dihantar dengan respons pelayan anda, membolehkan ciri seperti sebagai Perkongsian Sumber Silang Asal (CORS).

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Pengepala Respons 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