当前位置: 首页 > 工具软件 > age > 使用案例 >

Cookie的MaxAge属性

都阳辉
2023-12-01

示例:

	// save session to badger
	sid := strings.Replace(uuid.New().String(), "-", "", -1)
	if err = cache.Setx(sessionKey(sid), string(buf), ttl); err != nil {
		log.Errorf("In SaveSession cache.Setx() fail,sid: %v,%v", sid, err)
		return err
	}
	session.Sid = sid

	log.Infof("save session success: %v", sid)

	// set sid in cookie
	c.SetCookie(
		conf.SessionConfig.SessionKey, sid,
		conf.SessionConfig.Cookie.MaxAge,
		"",
		conf.SessionConfig.Cookie.Domain,
		false, false,
	)

如果maxAge属性为正数,则表示该Cookie会在maxAge秒之后自动失效。浏览器会将maxAge为正数的Cookie持久化,即写到对应的Cookie文件中。无论客户关闭了浏览器还是电脑,只要还在maxAge秒之前,登录网站时该Cookie仍然有效。

如果maxAge为负数,则表示该Cookie仅在本浏览器窗口以及本窗口打开的子窗口内有效,关闭窗口后该Cookie即失效。maxAge为负数的Cookie,为临时性Cookie,不会被持久化,不会被写到Cookie文件中。Cookie信息保存在浏览器内存中,因此关闭浏览器该 Cookie就消失了。Cookie默认的maxAge值为-1。

‍如果maxAge为0,则表示删除该Cookie。Cookie机制没有提供删除Cookie的方法,因此通过设置该Cookie即时失效实现删除Cookie的效果。失效的Cookie会被浏览器从Cookie文件或者内存中删除

 类似资料: