Définition des en-têtes HTTP dans le serveur Web Go
Lors du développement d'un serveur Web à l'aide de Go, il est souvent nécessaire de définir des en-têtes HTTP en réponse à demandes des clients. Cela vous permet de contrôler le comportement du navigateur et de fournir des informations essentielles sur le serveur et ses ressources.
Pour définir les en-têtes HTTP dans un serveur Web Go à l'aide de gorilla/mux et net/http, vous pouvez utiliser la méthode Set() de la fonction Header(). Voici un exemple de la façon de définir l'en-tête Access-Control-Allow-Origin sur "*":
func saveHandler(w http.ResponseWriter, r *http.Request) { // allow cross domain AJAX requests w.Header().Set("Access-Control-Allow-Origin", "*") }
En ajoutant les lignes ci-dessus à votre fonction de gestionnaire, vous demandez au serveur de répondre à l'origine croisée demandes de n’importe quelle origine avec l’en-tête Access-Control-Allow-Origin défini sur « * ». Cela permet les appels AJAX inter-domaines sans être bloqués par la politique de même origine.
Pour rendre cet en-tête disponible pour toutes vos routes, vous pouvez utiliser la fonction Use() de gorilla/mux pour ajouter un middleware à votre routeur. :
func main() { r := mux.NewRouter() r.Use(mux.CORSMethodMiddleware(r)) r.HandleFunc("/save", saveHandler) http.Handle("/", r) http.ListenAndServe(":"+port, nil) }
Ce middleware ajoutera automatiquement l'en-tête Access-Control-Allow-Origin à toutes les réponses, quel que soit l'itinéraire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!