Cookie介绍
- HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分两次请求是否由同一个客户端发出
- Cookie就是解决HTTP协议无状态的方案之一,中文是小甜饼的意思
- Cookie实际上就是服务器保存在浏览器上的一段信息。浏览器有了Cookie之后,每次向服务器发送请求时都会同时将该信息发送给服务器,服务器收到请求后,就可以根据该信息处理请求
- Cookie由服务器创建,并发送给浏览器,最终由浏览器保存
- 可以实现像自动登录等功能
Cookie的使用
-
cookie的获取:
func (c *Context) Cookie(name string) (string, error)
Cookie 返回请求中提供的命名 cookie,如果未找到则返回 ErrNoCookie。并返回命名的 cookie 是未转义的。如果多个 cookie 与给定名称匹配,则只会返回一个 cookie。
-
cookie的设置:
func (c *Context) SetCookie(name, value string, maxAge int, path, domain string, secure, httpOnly bool)
SetCookie 将 Set-Cookie 标头添加到 ResponseWriter 的标头中。提供的 cookie 必须具有有效的名称。无效的 cookie 可能会被静默丢弃。
参数:
-
name
:cookie的名称 -
value
:cookie的值 -
maxAge int
:cookie存活时间,单位为秒 -
path
:cookie所在目录 -
domain string
:域名 -
secure
:是否只能通过https访问 -
httpOnly bool
:是否允许别人通过js获取自己的cookie
-
实例演示:
package main
import (