Node之cookie&session

#### 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,'&’)//&是默认的分隔符

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值