Gin 中的 Cookie
Gin 中的 Cookie
● HTTP 是无状态协议。简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页 面,服务器无法认识到这是同一个浏览器在访问同一个网站。每一次的访问,都是没有任何 关系的。如果我们要实现多个页面之间共享数据的话我们就可以使用 Cookie 或者 Session 实 现.
● cookie 是存储于访问者计算机的浏览器中。可以让我们用同一个浏览器访问同一个域名 的时候共享数据。
Cookie 能实现的功能
1、保持用户登录状态
2、保存用户浏览的历史记录
3、猜你喜欢,智能推荐
4、电商网站的加入购物车
设置 Cookie
c.SetCookie(name, value string, maxAge int, path, domain string, secure, httpOnly bool)
第一个参数 key;
第二个参数 value ;
第三个参数 过期时间.如果只想设置 Cookie 的保存路径而不想设置存活时间,可以在第三个 参数中传递 nil ;
第四个参数 cookie 的路径 ;
第五个参数 cookie 的路径 Domain 作用域 本地调试配置成 localhost , 正式上线配置成域名 ;
第六个参数是 secure ,当 secure 值为 true 时,cookie 在 HTTP 中是无效,在 HTTPS 中 才有效 ;
第七个参数 httpOnly,是微软对 COOKIE 做的扩展。如果在 COOKIE 中设置了“httpOnly”属性, 则通过程序(JS 脚本、applet 等)将无法读取到 COOKIE 信息,防止 XSS 攻击产生;
获取 Cookie
username,_:=c.Cookie("username")
多个二级域名共享 cookie(登录成功跳转)
1、分别把 a.itying.com 和 b.itying.com 解析到我们的服务器;
2、我们想的是用户在 a.jinmianyiliao.com 中设置 Cookie 信息后在 b.jinmianyiliao.com 中获取刚才设置的 cookie,也就是实现多个二级域名共享 cookie,这时候的话我们就可以这样设置 cookie:.jinmianyiliao.com
c.SetCookie("usrename", "成强", 3600, "/", ".jinmianyiliao.com", false, true)