一、浏览器 Document.Cookie
- path:默认是 '/',
子域都是有效
- domain:指定 cookie 所属域名,默认是当前域名
- expires:一个绝对的过期时间(GMT格式)
- max-age:时间段、单位秒
- secure:是否使用https默认为false。当secure值为true时cookie在HTTP中是无效的
const cookie1 = "name=zhangsan; path=/;"
const cookie2 = "age=16; max-age=3600;"
const cookie3 = "sex=man; path=/;"
document.cookie = cookie1;
document.cookie = cookie2;
document.cookie = cookie3;
console.log(document.cookie)
document.cookie = "age=16; max-age=0;"
二、服务器 Http.Cookie
- path:同上
- domain:同上
- expires:同上
- max-age:同上
- secure:同上
- HttpOnly:阻止 JavaScript 通过
Document.cookie 属性访问 cookie
- SameSite:允许服务器设定一则 cookie 不随着跨站请求
- Strict:
跨站点时任何情况下都不会发送 Cookie
- Lax:
跨站点时任何情况下都不会发送 Cookie(Get除外)
- None:跨站和同站请求中均发送 cookie,必须同时设置
Secure 属性
var http = require("http");
var fs = require("fs");
http
.createServer(function (req, res) {
res.setHeader("status", "200 OK");
res.setHeader(
"Set-Cookie",
"isVisit=true;domain=www.baidu.com;path=/;max-age=1000"
);
res.write("Hello World");
res.end();
})
.listen(8888);
console.log("running localhost:8888");
三、注意点
- 后端设置的cookie会自动存储到浏览器中
- 前端、后端设置的cookie,请求时都会设置到header中