简述 cookie 与 session 区别
共同点: 都是用来存储数据的
不同点:
cookie:
1.cookie 存在客户端
2. 安全性不高
3. 存储空间有限 小于 4k
session:
1.session 存在服务器端
2. 安全性高
3. 储存空间大
cookie 的发送
- const express=require('express');
- var server=express();
- /* server.use('/',function(req,res){
- // 服务器给客户端发送 cookie
- res.cookie('uname','Jack');
- res.send('ok')
- }) */
- server.use('/aaa/a.html',function(req,res){
- // 服务器给客户端发送 cookie
- res.cookie('uname','Jack',{path:'/aaa',maxAge:30*24*60*60*1000});//maxAge 按毫秒算
- res.send('ok')
- })
- server.listen(8080);
cookie 的获取
需要下载中间件: cookie-parser
- cnpm install cookie-parser
- const express=require('express');
- const cookieParser=require('cookie-parser');
- var server=express();
- server.use(cookieParser());
- server.use('/aaa/a.html',function(req,res){
- console.log(req.cookies);
- res.send('ok');
- })
- server.listen(8080);
cookie 的加密
- const express=require('express');
- const cookieParser=require('cookie-parser');
- var server=express();
- server.use(cookieParser());
- server.use('/aaa/a.html',function(req,res){
- // 设置一个秘钥
- req.secret='asdfghjkl';
- res.cookie('names','Jack',{signed:true});
- res.send('ok');
- })
- server.listen(8080);
清除 cookie
- res.clearCookie('uname');
- const express=require('express');
- const cookieParser=require('cookie-parser');
- var server=express();
- server.use(cookieParser());
- server.use('/aaa/a.html',function(req,res){
- // 清除
- res.clearCookie('names');
- res.send('ok');
- })
- server.listen(8080);
来源: http://www.jianshu.com/p/6ead89555315