简述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);
session
先下载cookie-session
cnpm install cookie-session(如果前面下载的东西没有了都要重新下载:cnpm install express express-static body-parser cookie-parser cookie-session)
//搭建一个服务
const express=require('express');
const cookieParser=require('cookie-parser');
const cookieSession=require('cookie-session');
var server=express();
server.use(cookieParser());
//相当于设置一个秘钥
server.use(cookieSession({
keys:['sd','dfdf','wqer']
}));
server.use('/',function(req,res){
console.log(req.session);
res.send('ok');
})
server.listen(8080);