HTTP-Header im Go-Webserver festlegen
Bei der Entwicklung eines Webservers mit Go ist es häufig erforderlich, HTTP-Header als Reaktion darauf festzulegen Kundenwünsche. Dadurch können Sie das Browserverhalten steuern und wichtige Informationen über den Server und seine Ressourcen bereitstellen.
Um HTTP-Header in einem Go-Webserver mit gorilla/mux und net/http festzulegen, können Sie die Set()-Methode verwenden der Header()-Funktion. Hier ist ein Beispiel dafür, wie Sie den Access-Control-Allow-Origin-Header auf „*“ setzen:
func saveHandler(w http.ResponseWriter, r *http.Request) { // allow cross domain AJAX requests w.Header().Set("Access-Control-Allow-Origin", "*") }
Indem Sie die obigen Zeilen zu Ihrer Handler-Funktion hinzufügen, weisen Sie den Server an, auf Cross-Origin zu reagieren Anfragen von jedem Ursprung, wobei der Access-Control-Allow-Origin-Header auf „*“ gesetzt ist. Dies ermöglicht domänenübergreifende AJAX-Aufrufe, ohne durch die Same-Origin-Richtlinie blockiert zu werden.
Um diesen Header für alle Ihre Routen verfügbar zu machen, können Sie die Use()-Funktion von gorilla/mux verwenden, um Ihrem Router eine Middleware hinzuzufügen :
func main() { r := mux.NewRouter() r.Use(mux.CORSMethodMiddleware(r)) r.HandleFunc("/save", saveHandler) http.Handle("/", r) http.ListenAndServe(":"+port, nil) }
Diese Middleware fügt automatisch den Access-Control-Allow-Origin-Header zu allen Antworten hinzu, unabhängig von der Antwort Route.
Das obige ist der detaillierte Inhalt vonWie lege ich HTTP-Header in einem Go-Webserver mit Gorilla/Mux fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!