星光不问赶路人,时光不负有心人|

Gin中的Cookie

Gin中的Cookie

1 Cookie简介

/*
	●  HTTP是无状态协议。简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页面,服务器无法认识到这是同一个浏览器在访问同一个网站。每一次的访问,都是没有任何关系的。如果我们要实现多个页面之间共享数据的话我们就可以使用Cookie或者Session实现
	● cookie是存储于访问者计算机的浏览器中。可以让我们用同一个浏览器访问同一个域名的时候共享数据。
*/

2 Cookie能实现的功能

/*
    1、保持用户登录状态
    2、保存用户浏览的历史记录
    3、猜你喜欢,智能推荐
    4、电商网站的加入购物车
*/

3 设置和获取Cookie

import (
    "fmt"

    "github.com/gin-gonic/gin"
)

func main() {

    router := gin.Default()

    router.GET("/cookie", func(c *gin.Context) {

        cookie, err := c.Cookie("gin_cookie") // 获取cookie

        if err != nil {
            cookie = "NotSet"

            c.SetCookie("gin_cookie", "test", 3600, "/", "localhost", false, true) // 设置cookie
        }

        fmt.Printf("Cookie value: %s \n", cookie)
    })

    router.Run()
}

/*
	c.SetCookie(name, value string, maxAge int, path, domain string, secure, httpOnly bool)
	name : cookie名称
	value : cookie值
	maxAge : 过期时间(秒)如果只想设置Cookie的保存路径而不想设置存活时间,可以在第三个参数中传递nil
	path : cookie生效的路径
	domain : cookie的路径Domain作用域 本地调试配置成localhost,正式上线配置成域名,不写的话就是所有域都可以
	secure : 当secure值为true时,cookie在HTTP中是无效的,在HTTPS中才有效
	httpOnly : 是微软对COOKIE做的扩展。如果在COOKIE中设置了“httpOnly"属性,则通过程序(JS脚本、applet等)将无法读取到COOKIE信息,防止XSS攻击产生

*/

4 删除Cookie

只需要重新设置过期时间 让它小于0就行了

c.SetCookie("gin_cookie", "test", -1, "/", "localhost", false, true) 

5 多个二级域名共享cookie

/*
	1.讲二级域名解析
	 a.xxx.com
	 b.xxx.com


    2、我们想的是用户在a.xxx.com中设置Cookie信息后在 b.xxx.com中获取刚才设置的cookie,也就是实现多个二级域名共享cookie
    这时候的话我们就可以这样设置cookie
    
    c.SetCookie("usrename","张三",3600,"/",".xxx.com", false,true)

	.xxx.com 让所有属于它的二级域名共享cookie
*/

本文作者:春游去动物园

本文链接:https://www.cnblogs.com/chunyouqudongwuyuan/p/17969515

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   春游去动物园  阅读(33)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开
  1. 1 生分 川青
生分 - 川青
00:00 / 00:00
An audio error has occurred.

生分 - 川青

词:莎子

曲:邵翼天

编曲:林亦

混音:罗杨轩

吉他:林亦

制作人:谢宇伦

监制:曾炜超/陈显

策划:+7

统筹:黄染染

出品:漫吞吞文化

『酷狗音乐人 • 星曜计划』

全方位推广,见证星力量!

「版权所有未经许可 不得商业翻唱或使用」

我们怎么变得那么生分

用了几年也没解开疑问

有些事你不提我也不问

在陌生与熟悉间找平衡

有些话一开口会伤人

有些话一开口会伤人

所以我选择默不作声

所以我选择默不作声

爱一个人

若甘愿陪衬

甘愿牺牲

也许换个名分

也不是没可能

我不怕在爱里做个蠢人

我不怕在爱里做个蠢人

也不怕爱过之后再分

也不怕爱过之后再分

爱一个人

有万种身份

万种可能

只是没想到

我们最后友人相称

我们怎么变得那么生分

我们怎么变得那么生分

连说话都要掌握好分寸

怕不注意流言

见缝插针

怕不小心我们

成陌生人

我们怎么变得那么生分

用了几年也没解开疑问

有些事你不提我也不问

在陌生与熟悉间找平衡

有些话一开口会伤人

有些话一开口会伤人

所以我选择默不作声

所以我选择默不作声

爱一个人

若甘愿陪衬

甘愿牺牲

也许换个名分

也不是没可能

我不怕在爱里做个蠢人

我不怕在爱里做个蠢人

也不怕爱过之后再分

也不怕爱过之后再分

爱一个人

有万种身份

万种可能

只是没想到我们最后

友人相称

我们怎么变得那么生分

连说话都要掌握好分寸

怕不注意流言见缝插针

怕不小心我们成陌生人

我们怎么变得那么生分

用了几年也没解开疑问

有些事你不提我也不问

在陌生与熟悉间找平衡

我们怎么变得那么生分

我们怎么变得那么生分

连说话都要掌握好分寸

怕不注意流言见缝插针

怕不小心我们成陌生人

我们怎么变得那么生分

用了几年也没解开疑问

有些事你不提我也不问

在陌生与熟悉间找平衡