簡(jiǎn)述cookie與session區(qū)別
共同點(diǎn):都是用來(lái)存儲(chǔ)數(shù)據(jù)
的
不同點(diǎn):
cookie:
1.cookie存在客戶端
2.安全性不高
3.存儲(chǔ)空間有限 小于4k
session:
1.session存在服務(wù)器端
2.安全性高
3.儲(chǔ)存空間大
cookie的發(fā)送
const express=require('express');
var server=express();
/* server.use('/',function(req,res){
//服務(wù)器給客戶端發(fā)送cookie
res.cookie('uname','Jack');
res.send('ok')
}) */
server.use('/aaa/a.html',function(req,res){
//服務(wù)器給客戶端發(fā)送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){
//設(shè)置一個(gè)秘鑰
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(如果前面下載的東西沒(méi)有了都要重新下載:cnpm install express express-static body-parser cookie-parser cookie-session)
//搭建一個(gè)服務(wù)
const express=require('express');
const cookieParser=require('cookie-parser');
const cookieSession=require('cookie-session');
var server=express();
server.use(cookieParser());
//相當(dāng)于設(shè)置一個(gè)秘鑰
server.use(cookieSession({
keys:['sd','dfdf','wqer']
}));
server.use('/',function(req,res){
console.log(req.session);
res.send('ok');
})
server.listen(8080);