cookie的常用作用
1、保存用户信息
2、浏览器历史记录
3、猜你喜欢的功能
4、10天免登陆
5、多个页面之间的数据传递
6、cookie实现购物车功能
设置Cookie
ctx.cookies.set(name, value, [options])
** options可选参数 **
maxAge: 一个数字, 表示从Date.now()得到的毫秒数.expires: 一个Date对象, 表示 cookie 的到期日期 (默认情况下在会话结束时过期).path: 一个字符串, 表示 cookie 的路径 (默认是/).domain: 一个字符串, 指示 cookie 的域 (无默认值).secure: 一个布尔值, 表示 cookie 是否仅通过 HTTPS 发送 (HTTP 下默认为false, HTTPS 下默认为true). 阅读有关此参数的更多信息.httpOnly: 一个布尔值, 表示 cookie 是否仅通过 HTTP(S) 发送,, 且不提供给客户端 JavaScript (默认为true).sameSite: 一个布尔值或字符串, 表示该 cookie 是否为 "相同站点" cookie (默认为false). 可以设置为'strict','lax','none', 或true(映射为'strict').signed: 一个布尔值, 表示是否要对 cookie 进行签名 (默认为false). 如果为true, 则还会发送另一个后缀为.sig的同名 cookie, 使用一个 27-byte url-safe base64 SHA1 值来表示针对第一个 Keygrip 键的 cookie-name=cookie-value 的哈希值. 此签名密钥用于检测下次接收 cookie 时的篡改.overwrite: 一个布尔值, 表示是否覆盖以前设置的同名的 cookie (默认是false). 如果是 true, 在同一个请求中设置相同名称的所有 Cookie(无论路径或域)是否在设置此Cookie 时从 Set-Cookie 消息头中过滤掉.
获取Cookie
ctx.cookies.get('name');
设置中文Cookie
console.log(new Buffer('hello, world!').toString('base64'));// 转换成 base64 字符串:aGVsbG8sIHdvcmxkIQ==
console.log(new Buffer('aGVsbG8sIHdvcmxkIQ==', 'base64').toString());// 还原 base64 字符串:hello, world!