## cookie 和 session 和 localStorage的区别
- localstorage 和sessionStorage 本地存储 (发送请求是不携带的)
- localstorage 浏览器关闭之后不会销毁 必须手动销毁, 5M
- sessionStorage 浏览器关闭之后就销毁
localstorage 和 sessionStorage 不能跨域? 不能跨域
http 是无状态的,可以通过cookie 来制造状态,(浏览器设置cookie,服务端可以设置cookie)
每次发请求默认会携带cookie (不安全 数据是存在存储端的 不能存储敏感信息)
session 基于cookie的 通过cookie的机制,制造一个服务端存储的空间(对象)。
重启服务就丢失了。存在缓存数据库redis中。 可以用来存储session。(多个平台共享状态)。
jwt:json web token (不存在服务器的)
const http = require("http");
const queryString = require("querystring");
http.createServer((req, res) => {
//通过服务端去写入cookie。
if (req.url == "/read") {
// 读取cookie
res.end(JSON.stringify(queryString.parse(req.headers.cookie, ';', '=')));
} else if (req.url == '/write') {
// 设置cookie
// domain 域名设置 父域和子域 默认就是当前域名
// path "/" 表示任意路径,同express 中间件,表示所有路径都可以访问。 限制写入时 cookie的路径
// exipres 绝对时间 max-age 相对时间
// httpOnly 是否客户端可以操作cookie
res.setHeader('Set-Cookie', [`name=zf; max-age=3}`, 'age=11']);
res.end('write OK');
} else {
res.end('not found');
}
}).listen(3000);