Maison >développement back-end >Golang >Comment définir les en-têtes HTTP dans Go avec Gorilla/Mux et net/http ?

Comment définir les en-têtes HTTP dans Go avec Gorilla/Mux et net/http ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-21 11:10:11241parcourir

How to Set HTTP Headers in Go with Gorilla/Mux and net/http?

Définition des en-têtes HTTP dans Go avec Gorilla/Mux et Net/HTTP

Dans un serveur Web Go utilisant Gorilla/Mux et net/http , il est souvent nécessaire de définir des en-têtes HTTP à diverses fins. Un scénario courant consiste à activer AJAX inter-domaines en définissant l'en-tête Access-Control-Allow-Origin pour autoriser les requêtes provenant de n'importe quel domaine.

Le code Go fourni comprend une fonction de gestionnaire saveHandler qui traite les données de requête et une fonction principale. qui configure le routeur et démarre le serveur Web. Cependant, les gestionnaires initiaux ne définissent aucun en-tête HTTP.

Pour définir un en-tête de réponse HTTP, utilisez la méthode Set() sur la propriété Header() du http.ResponseWriter transmis à la fonction du gestionnaire. Par exemple :

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

    // do some stuff with the request data
}

En appelant w.Header().Set() avec le nom et la valeur de l'en-tête, vous pouvez définir l'en-tête HTTP souhaité pour la réponse. Dans ce cas, l'en-tête Access-Control-Allow-Origin est défini sur "*".

N'oubliez pas que la syntaxe w.Header().Set(headerName, headerValue) est cruciale pour définir correctement l'en-tête. Le package net/http fournit également des méthodes supplémentaires pour une manipulation d'en-tête plus complexe, vous permettant de définir ou d'ajouter plusieurs valeurs à un en-tête. Reportez-vous à la documentation officielle de Go pour plus de détails.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn