一、Cookie 简介
- cookie 是存储于访问者的计算机中的变量。可以让我们用同一个浏览器访问同一个域名的时候共享数据。
- HTTP 是无状态协议。简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页面,服务器无法认识到这是同一个浏览器在访问同一个网站。每一次的访问,都是没有任何关系的。
二、Koa Cookie 的使用
1、Koa 中设置 Cookie 的值
ctx.cookies.set(name, value, [options])
通过 options 设置 cookie name 的 value :
options 名称 | options 值 |
---|---|
maxAge | 一个数字表示从 Date.now() 得到的毫秒数 |
expires | cookie 过期的 Date |
path | cookie 路径, 默认是’/’ |
domain | cookie 域名 |
secure | 安全 cookie 默认 false,设置成 true 表示 只有 https 可以访问 |
httpOnly | 是否只是服务器可访问 cookie, 默认是 true |
overwrite | 一个布尔值,表示是否覆盖以前设置的同名的 cookie (默认false). 如果是 true, 在同一个请求中设置相同名称的所有 Cookie(不管路径或域)是否在设置此 Cookie 时从Set-Cookie 标头中过滤掉。 |
2、Koa 中获取 Cookie 的值
ctx.cookies.get('name');
三、Koa 中设置中文 Cookie
console.log(new Buffer('hello, world!').toString('base64'));// 转换成 base64 字符
串:aGVsbG8sIHdvcmxkIQ==
console.log(new Buffer('aGVsbG8sIHdvcmxkIQ==', 'base64').toString());// 还原 base
64 字符串:hello, world!