首页 >后端开发 >Golang >如何使用 gorilla/mux 在 Go Web 服务器中设置 HTTP 标头?

如何使用 gorilla/mux 在 Go Web 服务器中设置 HTTP 标头?

DDD
DDD原创
2024-12-23 02:05:08868浏览

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

在 Go Web 服务器中设置 HTTP 标头

使用 Go 开发 Web 服务器时,经常需要设置 HTTP 标头以响应客户要求。这允许您控制浏览器行为并提供有关服务器及其资源的基本信息。

要使用 gorilla/mux 和 net/http 在 Go Web 服务器中设置 HTTP 标头,您可以使用 Set() 方法的 Header() 函数。以下是如何将 Access-Control-Allow-Origin 标头设置为“*”的示例:

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

通过将上述行添加到处理程序函数中,指示服务器响应跨源来自任何来源且 Access-Control-Allow-Origin 标头设置为“*”的请求。这样可以实现跨域 AJAX 调用,而不会被同源策略阻止。

要使此标头可用于所有路由,您可以使用 gorilla/mux 的 Use() 函数向路由器添加中间件:

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

此中间件会自动将 Access-Control-Allow-Origin 标头添加到所有响应,无论路由如何。

以上是如何使用 gorilla/mux 在 Go Web 服务器中设置 HTTP 标头?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn