在Web开发中,Cookie 是一种常用的客户端存储机制,用于在浏览器和服务器之间传递少量数据。在 Go语言 中,我们可以使用标准库 net/http 包轻松地在HTTP响应中设置 Set-Cookie 头信息。
本文将手把手教你如何在Go语言中通过 net/http 包设置Cookie,适合初学者阅读,即使你刚接触Go语言也能轻松掌握。

Set-Cookie 是HTTP响应头的一部分,服务器通过它告诉浏览器“请保存这个Cookie”。浏览器收到后,会在后续请求中自动带上该Cookie(前提是满足域名、路径、有效期等条件)。
Go语言的 net/http 包提供了 http.SetCookie 函数,专门用于在响应中设置Cookie。其函数签名如下:
func SetCookie(w ResponseWriter, cookie *Cookie)其中,Cookie 是一个结构体,包含Name、Value、Path、Domain、Expires等字段。
package mainimport ( "net/http" "time")func loginHandler(w http.ResponseWriter, r *http.Request) { // 创建一个Cookie cookie := &http.Cookie{ Name: "user_session", Value: "abc123xyz", Path: "/", Domain: "localhost", Expires: time.Now().Add(24 * time.Hour), // 24小时后过期 HttpOnly: true, Secure: false, // 如果是HTTPS应设为true } // 将Cookie写入响应 http.SetCookie(w, cookie) // 返回响应内容 w.WriteHeader(http.StatusOK) w.Write([]byte("登录成功!Cookie已设置。"))}func main() { http.HandleFunc("/login", loginHandler) http.ListenAndServe(":8080", nil)}运行上述代码后,访问 http://localhost:8080/login,服务器会返回一个 Set-Cookie 响应头,浏览器会自动保存名为 user_session 的Cookie。
true 可防止JavaScript通过 document.cookie 访问,提升安全性true 时仅在HTTPS连接下发送CookieHttpOnly=true 以防御XSS攻击。Secure=true。Expires 或 MaxAge,避免Cookie长期有效带来安全风险。通过 net/http 包中的 http.SetCookie 函数,我们可以在Go语言中轻松实现 Set-Cookie 功能。掌握这一技能,对于构建用户认证、会话管理等Web功能至关重要。
希望本教程能帮助你理解如何在 Go语言 中正确设置Cookie。如果你正在学习Web开发,建议多动手实践,加深理解。
关键词回顾:Go语言、Set-Cookie、net/http、cookie设置、HTTP响应。
本文由主机测评网于2025-12-21发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20251211064.html