正如您在问题中所描述的那样,cookie由浏览器(HTTP客户端)管理,它们允许将信息存储在客户端计算机上,这些信息由浏览器根据后续请求自动发送。
如果您的应用程序充当客户端(使用该
net/http程序包连接到远程HTTP服务器),则没有浏览器可以处理/管理cookie。我的意思是存储/记住作为
Set-cookie:响应头到达的cookie,并将它们附加到对同一主机/域发出的后续出站请求。另外,cookie的失效日期还必须在决定将其包含在外发请求中之前进行检查。
http.Client但是,该类型允许您设置type的值
http.cookieJar,如果这样做,则将具有自动cookie管理,否则该cookie将不存在,或者您必须自己进行设置。这样一来,您就可以
net/http对服务器将在同一个会话中看到的程序包进行多个请求,就像它们是由真实的浏览器发出的一样,因为HTTP会话(会话ID)通常是使用cookie维护的。
该软件包
net/http/cookiejar是一个cookieJar实现,您可以直接使用它。请注意,此实现仅在内存中进行,这意味着如果重新启动应用程序,则cookie将丢失。
因此,基本上, HTTP cookie
是从网站发送的一小段数据,并在用户浏览该网站时存储在用户的Web浏览器中。
cookiejar
是简单cookie管理器的Go接口(用于管理HTTP请求和响应标头中的cookie)以及该接口的实现。



