1.Cookie 的概念

Cookie 是一种服务器端的存储技术,它可以将客户端的一些信息(如登录状态、浏览器访问的历史记录、服务器的一些信息)存储在客户端的浏览器中,下次客户端再次访问服务器时,可以将 Cookie 信息发送给服务器,从而实现服务器与客户端之间的持久性连接。

2.Golang net/http 中 Cookie 的使用

Golang 中 net/http 模块提供了对 Cookie 的操作,主要提供了以下几个函数:

1)http.Cookie:用于创建新的 Cookie 对象;

2)http.SetCookie:用于将 Cookie 写入到 ResponseWriter 中;

3)http.Request.Cookie:用于从 Request 中获取 Cookie。

3. 实例代码

下面的实例代码演示了如何在 Golang 中使用 net/http 模块操作 Cookie:

1234567891011121314151617181920212223242526272829package main

import (
	"fmt"
	"net/http"
	"time"
)

func main() {
	// 创建一个 Cookie
	expiration := time.Now()
	expiration = expiration.AddDate(1, 0, 0)
	cookie := http.Cookie{Name: "username", Value: "astaxie", Expires: expiration}
	
	// 将 Cookie 写入 ResponseWriter
	http.SetCookie(w, &cookie)
	
	// 从 Request 中获取 Cookie
	cookie, err := r.Cookie("username")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(cookie)
}
Go