cookie
来源:互联网 发布:夜神模拟器清理数据 编辑:程序博客网 时间:2024/06/06 01:41
铺垫:
- 引入http模块,建立一个服务。
- 引入url模块,解析浏览器请求路径。
- 引入queryString模块,解析查询字符串(在这里用来解析cookie);
- 解析cookie也可以用qs,qs是第三方模块(可以解析多层数据:{name:’yan’,city:{xxx : ‘xxx’}})
http.createServer((req,res)=>{ let {pathname} = url.parse(req.url,true);}).listen(3000)
在响应头中设置cookie:
res.setHeader('setCookie','name=yan');
cookie 为固定格式:key=value; path=’/’
- 属性之间用
分号空格
隔开。 - setCookie / Set-Cookie( 二取一);
从请求头中获取cookie:
let cookie = req.headers.cookie;
用querystring将cookie解析成对象,用querystring解析cookie字符串的时候;注意cookie的分隔符(是分号空格;
而不是&
)。
let cookieObj=querystring(cookie,'; ');
属性
- key=value:保存要传输的信息。
- Domain:域名。指定域名(向指定域名发请求时带cookie,有指定域名后,向其他域名发请求不带cookie),默认为当前域名。
- maxAge:相对过期时间。
- Exrires:绝对过期时间。
- secure:值为true时,http请求中是无效的,在HTTps中才有效。
- path:表示cookie影响到的路径。当浏览器匹配不到路径时,不发送cookie。
- httpOnly:设置了httpOnly属性,通过js不能获取cookie的信息。
express中设置cookie
- res.cookie(name,value,{options}):express提供的方法。
- 安装、引入cookie-parser中间件。
$ npm install cookie-parser –save
app.use(require(‘cookie-parser’)()); //使用中间件
request.cookies
cookie使用注意事项
- 可能被客户端篡改,使用前验证合法性
- 不要存储敏感数据,比如用户密码,账户余额
- 使用httpOnly保证安全
- 尽量减少cookie的体积
- 设置正确的domain和path,减少数据传输
阅读全文
0 0
- Cookie
- cookie
- cookie
- Cookie
- cookie
- Cookie
- cookie
- Cookie
- Cookie
- Cookie
- cookie
- cookie
- cookie
- Cookie
- cookie
- Cookie
- cookie
- cookie
- 数据结构读书笔记(二)——红黑树
- 机房重构之遇见问题
- C语言创建多线程
- 疯狂Activiti6.0连载(22)流程存储Web Service
- 素数求解
- cookie
- 感知器和神经网络训练(公式推导及C++实现)
- Neo4j Causal Cluster 概要
- HDOJ1157Who's in the Middle
- 词向量和语言模型阅读笔记
- cell的重用原理
- SpringMVC中重定向数据转发
- 【题解】【uva11990】【bzoj3295】动态逆序对 ``Dynamic'' Inversion
- codeforce 399 div1 a