#### cookie
- 特点
- 1.兼容所有浏览器
- 2.存放的内容少,4kb,浏览器会限制一个站点最多可以存放20个cookie
- 3.不安全,重要信息最好不要存放在cookie上
- 4.cookie容易被安全卫士等软件清除
- 5.有过期时间
- 6.不是严格的本地存储,获取cookie时,保证服务器和客户端保持连接,读取cookie也要经过HTTP处理
- cookie的应用
```
let http=require('http');
let url=require('url');
let querystring=require('querystring')
http.createServer(function(req,res){
let {pathname}=url.parse(req.url,true);
res.setHeader('Content-type','text/html;charset=utf-8')
//当客户端访问的路径是/write的话就表示写cookie
if (pathname=='/visit'){
let cookie=req.headers.cookie;
let visit=1;
if (cookie){
//cookie并不是真正的查询字符串,所以不同字段的风格符是; ,而不是&,所以在解析的时候要注意传入字段分隔符
let cookieObj=querystring.parse(cookie,'; ')
if(cookieObj.visit){
// + 字符串转数字的意思
visit=(isNaN(+cookieObj.visit)?0:parseInt(+cookieObj.visit))+1
}
}
res.setHeader('Set-Cookie',`visit=${visit}`)
res.end(`顾客欢迎你第${visit}次来`)
}else{
res.end('404')
}
}).listen(8081);
```
> queryString扩展
> 原理:利用&把字段分开,再用等号把键和值分开
> 参数:参数1-》要分隔的内容 参数2:以什么进行分割
> 有两个方法:querystring.parse() querysting.stringfy()
```
let str='id=1&age=3';
let querystring=require('querystring')
let obj=querystring.parse(str,'&’)//&是默认的分隔符
```